mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
[SCSI] aacraid: Do not set DMA mask to 32 bit first if adapter only supports 31
Signed-off-by: Rolf Eike Beer <eike-kernel@sf-tec.de> Acked-by: Achim Leubner <Achim_Leubner@pmc-sierra.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
parent
0c47087485
commit
0dcae66fd9
1 changed files with 8 additions and 6 deletions
|
@ -1091,6 +1091,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)
|
||||
|
@ -1104,17 +1105,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);
|
||||
|
||||
|
|
Loading…
Reference in a new issue