diff options
author | Dean Nelson <dnelson@redhat.com> | 2010-11-11 00:50:25 -0500 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2010-12-11 01:12:29 -0500 |
commit | 19a0b67afd174c4db261d587b5c67704dcd53c17 (patch) | |
tree | 05ac966305d5e51f486f949e56e4131c892a690c | |
parent | fa795e6b9c59a14c80a475428df7e4cb97396f47 (diff) |
e1000: fix return value not set on error
Dean noticed that 'err' wasn't being set when the "goto err_dma"
statement is executed in the following hunk from the commit. It's value
will be zero as a result of a successful call to e1000_init_hw_struct().
This patch changes the error condition to be correctly propagated.
CC: stable@kernel.org
Signed-off-by: Dean Nelson <dnelson@redhat.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Emil Tantilov <emil.s.tantilov@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-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; |