diff options
author | Wei Yongjun <yongjun_wei@trendmicro.com.cn> | 2013-05-13 06:04:58 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-05-13 22:02:28 (GMT) |
commit | 1154eb51e7fe682153ad21c5ddde51fc5d8d84e9 (patch) | |
tree | 5d9a30603753f617afd30d3bd9d7794f742c20de /drivers | |
parent | d398f56ed7ddf8a2f3ffdd15323bc31296d14c5d (diff) | |
download | linux-1154eb51e7fe682153ad21c5ddde51fc5d8d84e9.tar.xz |
staging: slicoss: fix error return code in slic_entry_probe()
Fix to return a negative error code from the error handling
case instead of 0, as done elsewhere in this function.
Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/staging/slicoss/slicoss.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/drivers/staging/slicoss/slicoss.c b/drivers/staging/slicoss/slicoss.c index e4b8277..869dcd3 100644 --- a/drivers/staging/slicoss/slicoss.c +++ b/drivers/staging/slicoss/slicoss.c @@ -3651,17 +3651,20 @@ static int slic_entry_probe(struct pci_dev *pcidev, if (!pci_set_dma_mask(pcidev, DMA_BIT_MASK(64))) { pci_using_dac = 1; - if (pci_set_consistent_dma_mask(pcidev, DMA_BIT_MASK(64))) { + err = pci_set_consistent_dma_mask(pcidev, DMA_BIT_MASK(64)); + if (err) { dev_err(&pcidev->dev, "unable to obtain 64-bit DMA for " "consistent allocations\n"); goto err_out_disable_pci; } - } else if (pci_set_dma_mask(pcidev, DMA_BIT_MASK(32))) { + } else { + err = pci_set_dma_mask(pcidev, DMA_BIT_MASK(32)); + if (err) { + dev_err(&pcidev->dev, "no usable DMA configuration\n"); + goto err_out_disable_pci; + } pci_using_dac = 0; pci_set_consistent_dma_mask(pcidev, DMA_BIT_MASK(32)); - } else { - dev_err(&pcidev->dev, "no usable DMA configuration\n"); - goto err_out_disable_pci; } err = pci_request_regions(pcidev, DRV_NAME); @@ -3696,6 +3699,7 @@ static int slic_entry_probe(struct pci_dev *pcidev, if (!memmapped_ioaddr) { dev_err(&pcidev->dev, "cannot remap MMIO region %lx @ %lx\n", mmio_len, mmio_start); + err = -ENOMEM; goto err_out_free_netdev; } @@ -3706,8 +3710,8 @@ static int slic_entry_probe(struct pci_dev *pcidev, slic_init_adapter(netdev, pcidev, pci_tbl_entry, memmapped_ioaddr, cards_found); - status = slic_card_locate(adapter); - if (status) { + err = slic_card_locate(adapter); + if (err) { dev_err(&pcidev->dev, "cannot locate card\n"); goto err_out_free_mmio_region; } |