diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_driver.c | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_driver.c b/drivers/infiniband/hw/ipath/ipath_driver.c index 290080b2c8f1..9763d3af830b 100644 --- a/drivers/infiniband/hw/ipath/ipath_driver.c +++ b/drivers/infiniband/hw/ipath/ipath_driver.c | |||
@@ -425,12 +425,29 @@ static int __devinit ipath_init_one(struct pci_dev *pdev, | |||
425 | */ | 425 | */ |
426 | ret = pci_set_dma_mask(pdev, DMA_32BIT_MASK); | 426 | ret = pci_set_dma_mask(pdev, DMA_32BIT_MASK); |
427 | if (ret) { | 427 | if (ret) { |
428 | dev_info(&pdev->dev, "pci_set_dma_mask unit %u " | 428 | dev_info(&pdev->dev, |
429 | "fails: %d\n", dd->ipath_unit, ret); | 429 | "Unable to set DMA mask for unit %u: %d\n", |
430 | dd->ipath_unit, ret); | ||
430 | goto bail_regions; | 431 | goto bail_regions; |
431 | } | 432 | } |
432 | else | 433 | else { |
433 | ipath_dbg("No 64bit DMA mask, used 32 bit mask\n"); | 434 | ipath_dbg("No 64bit DMA mask, used 32 bit mask\n"); |
435 | ret = pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK); | ||
436 | if (ret) | ||
437 | dev_info(&pdev->dev, | ||
438 | "Unable to set DMA consistent mask " | ||
439 | "for unit %u: %d\n", | ||
440 | dd->ipath_unit, ret); | ||
441 | |||
442 | } | ||
443 | } | ||
444 | else { | ||
445 | ret = pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK); | ||
446 | if (ret) | ||
447 | dev_info(&pdev->dev, | ||
448 | "Unable to set DMA consistent mask " | ||
449 | "for unit %u: %d\n", | ||
450 | dd->ipath_unit, ret); | ||
434 | } | 451 | } |
435 | 452 | ||
436 | pci_set_master(pdev); | 453 | pci_set_master(pdev); |