|
@@ -1741,30 +1741,18 @@ static int fm10k_probe(struct pci_dev *pdev,
|
|
struct fm10k_intfc *interface;
|
|
struct fm10k_intfc *interface;
|
|
struct fm10k_hw *hw;
|
|
struct fm10k_hw *hw;
|
|
int err;
|
|
int err;
|
|
- u64 dma_mask;
|
|
|
|
|
|
|
|
err = pci_enable_device_mem(pdev);
|
|
err = pci_enable_device_mem(pdev);
|
|
if (err)
|
|
if (err)
|
|
return err;
|
|
return err;
|
|
|
|
|
|
- /* By default fm10k only supports a 48 bit DMA mask */
|
|
|
|
- dma_mask = DMA_BIT_MASK(48) | dma_get_required_mask(&pdev->dev);
|
|
|
|
-
|
|
|
|
- if ((dma_mask <= DMA_BIT_MASK(32)) ||
|
|
|
|
- dma_set_mask_and_coherent(&pdev->dev, dma_mask)) {
|
|
|
|
- dma_mask &= DMA_BIT_MASK(32);
|
|
|
|
-
|
|
|
|
|
|
+ err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(48));
|
|
|
|
+ if (err)
|
|
err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
|
|
err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
|
|
- err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32));
|
|
|
|
- if (err) {
|
|
|
|
- err = dma_set_coherent_mask(&pdev->dev,
|
|
|
|
- DMA_BIT_MASK(32));
|
|
|
|
- if (err) {
|
|
|
|
- dev_err(&pdev->dev,
|
|
|
|
- "No usable DMA configuration, aborting\n");
|
|
|
|
- goto err_dma;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ if (err) {
|
|
|
|
+ dev_err(&pdev->dev,
|
|
|
|
+ "DMA configuration failed: %d\n", err);
|
|
|
|
+ goto err_dma;
|
|
}
|
|
}
|
|
|
|
|
|
err = pci_request_selected_regions(pdev,
|
|
err = pci_request_selected_regions(pdev,
|