diff options
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/ethernet/emulex/benet/be_main.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c index 3224d28cdad4..208415107418 100644 --- a/drivers/net/ethernet/emulex/benet/be_main.c +++ b/drivers/net/ethernet/emulex/benet/be_main.c | |||
@@ -4335,19 +4335,11 @@ static int be_probe(struct pci_dev *pdev, const struct pci_device_id *pdev_id) | |||
4335 | adapter->netdev = netdev; | 4335 | adapter->netdev = netdev; |
4336 | SET_NETDEV_DEV(netdev, &pdev->dev); | 4336 | SET_NETDEV_DEV(netdev, &pdev->dev); |
4337 | 4337 | ||
4338 | status = dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)); | 4338 | status = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); |
4339 | if (!status) { | 4339 | if (!status) { |
4340 | status = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64)); | ||
4341 | if (status < 0) { | ||
4342 | dev_err(&pdev->dev, "dma_set_coherent_mask failed\n"); | ||
4343 | goto free_netdev; | ||
4344 | } | ||
4345 | netdev->features |= NETIF_F_HIGHDMA; | 4340 | netdev->features |= NETIF_F_HIGHDMA; |
4346 | } else { | 4341 | } else { |
4347 | status = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)); | 4342 | status = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); |
4348 | if (!status) | ||
4349 | status = dma_set_coherent_mask(&pdev->dev, | ||
4350 | DMA_BIT_MASK(32)); | ||
4351 | if (status) { | 4343 | if (status) { |
4352 | dev_err(&pdev->dev, "Could not set PCI DMA Mask\n"); | 4344 | dev_err(&pdev->dev, "Could not set PCI DMA Mask\n"); |
4353 | goto free_netdev; | 4345 | goto free_netdev; |