|
@@ -7970,16 +7970,12 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
|
return err;
|
|
|
|
|
|
/* set up for high or low dma */
|
|
|
- if (!dma_set_mask(&pdev->dev, DMA_BIT_MASK(64))) {
|
|
|
- /* coherent mask for the same size will always succeed if
|
|
|
- * dma_set_mask does
|
|
|
- */
|
|
|
- dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64));
|
|
|
- } else if (!dma_set_mask(&pdev->dev, DMA_BIT_MASK(32))) {
|
|
|
- dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
|
|
|
- } else {
|
|
|
- dev_err(&pdev->dev, "DMA configuration failed: %d\n", err);
|
|
|
- err = -EIO;
|
|
|
+ err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
|
|
|
+ if (err)
|
|
|
+ err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
|
|
|
+ if (err) {
|
|
|
+ dev_err(&pdev->dev,
|
|
|
+ "DMA configuration failed: 0x%x\n", err);
|
|
|
goto err_dma;
|
|
|
}
|
|
|
|