diff options
Diffstat (limited to 'drivers/net/e1000')
-rw-r--r-- | drivers/net/e1000/e1000_main.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index 06c7d1c67517..491bf2a1babd 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c | |||
@@ -971,11 +971,13 @@ static int __devinit e1000_probe(struct pci_dev *pdev, | |||
971 | */ | 971 | */ |
972 | dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64)); | 972 | dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64)); |
973 | pci_using_dac = 1; | 973 | pci_using_dac = 1; |
974 | } else if (!dma_set_mask(&pdev->dev, DMA_BIT_MASK(32))) { | ||
975 | dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32)); | ||
976 | } else { | 974 | } else { |
977 | pr_err("No usable DMA config, aborting\n"); | 975 | err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)); |
978 | goto err_dma; | 976 | if (err) { |
977 | pr_err("No usable DMA config, aborting\n"); | ||
978 | goto err_dma; | ||
979 | } | ||
980 | dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32)); | ||
979 | } | 981 | } |
980 | 982 | ||
981 | netdev->netdev_ops = &e1000_netdev_ops; | 983 | netdev->netdev_ops = &e1000_netdev_ops; |