Do not set DMA mask to 32 bit first if adapter only supports 31
Subsystems (2)
PATCH RESEND 1/1 Do not set DMA mask to 32 bit first if adapter only supports 31
Signed-off-by Rolf Eike Beer <[email protected]>
---
First send on 2009-07-26
drivers/scsi/aacraid/linit.c | 14 ++++++++------ 1 files changed, 8 insertions(+), 6 deletions(-)
drivers/scsi/aacraid/linit.c +8 -6
@@ -1082,6 +1082,7 @@ static int __devinit aac_probe_one(struct pci_dev *pdev,struct list_head *insert = &aac_devices;int error = -ENODEV ;int unique_id =0 ; +u64 dmamask;list_for_each_entry (aac, &aac_devices, entry) {if (aac->id > unique_id)
@@ -1095,17 +1096,18 @@ static int __devinit aac_probe_one(struct pci_dev *pdev, goto out; error = -ENODEV ; -if (pci_set_dma_mask (pdev,DMA_BIT_MASK (32 )) || -pci_set_consistent_dma_mask (pdev,DMA_BIT_MASK (32 ))) - goto out_disable_pdev;/* * If the quirk31 bit is set, the adapter needs adapter * to driver communication memory to be allocated below 2gig */ if (aac_drivers[index].quirks &AAC_QUIRK_31BIT ) -if (pci_set_dma_mask (pdev,DMA_BIT_MASK (31 )) || -pci_set_consistent_dma_mask (pdev,DMA_BIT_MASK (31 ))) - goto out_disable_pdev; + dmamask =DMA_BIT_MASK (31 ); +else + dmamask =DMA_BIT_MASK (32 ); + +if (pci_set_dma_mask (pdev, dmamask) || +pci_set_consistent_dma_mask (pdev, dmamask)) + goto out_disable_pdev;pci_set_master (pdev);
Signature · 1 line
1.6.0.2