|
@@ -9582,16 +9582,17 @@ static int ipr_probe_ioa(struct pci_dev *pdev,
|
|
|
ipr_init_regs(ioa_cfg);
|
|
|
|
|
|
if (ioa_cfg->sis64) {
|
|
|
- rc = dma_set_mask(&pdev->dev, DMA_BIT_MASK(64));
|
|
|
+ rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
|
|
|
if (rc < 0) {
|
|
|
- dev_dbg(&pdev->dev, "Failed to set 64 bit PCI DMA mask\n");
|
|
|
- rc = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32));
|
|
|
+ dev_dbg(&pdev->dev, "Failed to set 64 bit DMA mask\n");
|
|
|
+ rc = dma_set_mask_and_coherent(&pdev->dev,
|
|
|
+ DMA_BIT_MASK(32));
|
|
|
}
|
|
|
} else
|
|
|
- rc = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32));
|
|
|
+ rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
|
|
|
|
|
|
if (rc < 0) {
|
|
|
- dev_err(&pdev->dev, "Failed to set PCI DMA mask\n");
|
|
|
+ dev_err(&pdev->dev, "Failed to set DMA mask\n");
|
|
|
goto cleanup_nomem;
|
|
|
}
|
|
|
|