|
@@ -7440,13 +7440,19 @@ static int iwl4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
|
|
|
|
|
|
pci_set_master(pdev);
|
|
|
|
|
|
- err = pci_set_dma_mask(pdev, DMA_32BIT_MASK);
|
|
|
+ err = pci_set_dma_mask(pdev, DMA_64BIT_MASK);
|
|
|
if (!err)
|
|
|
- err = pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK);
|
|
|
+ err = pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK);
|
|
|
+ if (err) {
|
|
|
+ err = pci_set_dma_mask(pdev, DMA_32BIT_MASK);
|
|
|
+ if (!err)
|
|
|
+ err = pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK);
|
|
|
+ /* both attempts failed: */
|
|
|
if (err) {
|
|
|
- printk(KERN_WARNING DRV_NAME
|
|
|
- ": No suitable DMA available.\n");
|
|
|
+ printk(KERN_WARNING "%s: No suitable DMA available.\n",
|
|
|
+ DRV_NAME);
|
|
|
goto out_pci_disable_device;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
err = pci_request_regions(pdev, DRV_NAME);
|