Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1645992 > unrolled thread

[PATCH] net: atheros: atl2: don't return zero on failure path in atl2_probe()

Started byAlexey Khoroshilov <khoroshilov@ispras.ru>
First post2017-05-20 01:00 +0200
Last post2017-05-22 18:10 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] net: atheros: atl2: don't return zero on failure path in atl2_probe() Alexey Khoroshilov <khoroshilov@ispras.ru> - 2017-05-20 01:00 +0200
    Re: [PATCH] net: atheros: atl2: don't return zero on failure path  in atl2_probe() David Miller <davem@davemloft.net> - 2017-05-22 18:10 +0200

#1645992 — [PATCH] net: atheros: atl2: don't return zero on failure path in atl2_probe()

FromAlexey Khoroshilov <khoroshilov@ispras.ru>
Date2017-05-20 01:00 +0200
Subject[PATCH] net: atheros: atl2: don't return zero on failure path in atl2_probe()
Message-ID<tIZ2i-w0-3@gated-at.bofh.it>
If dma mask checks fail in atl2_probe(), it breaks off initialization,
deallocates all resources, but returns zero.

The patch adds proper error code return value and
make error code setup unified.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
---
 drivers/net/ethernet/atheros/atlx/atl2.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/atheros/atlx/atl2.c b/drivers/net/ethernet/atheros/atlx/atl2.c
index 63f2deec2a52..77a1c03255de 100644
--- a/drivers/net/ethernet/atheros/atlx/atl2.c
+++ b/drivers/net/ethernet/atheros/atlx/atl2.c
@@ -1353,6 +1353,7 @@ static int atl2_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	if (pci_set_dma_mask(pdev, DMA_BIT_MASK(32)) &&
 		pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32))) {
 		printk(KERN_ERR "atl2: No usable DMA configuration, aborting\n");
+		err = -EIO;
 		goto err_dma;
 	}
 
@@ -1366,10 +1367,11 @@ static int atl2_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	 * pcibios_set_master to do the needed arch specific settings */
 	pci_set_master(pdev);
 
-	err = -ENOMEM;
 	netdev = alloc_etherdev(sizeof(struct atl2_adapter));
-	if (!netdev)
+	if (!netdev) {
+		err = -ENOMEM;
 		goto err_alloc_etherdev;
+	}
 
 	SET_NETDEV_DEV(netdev, &pdev->dev);
 
@@ -1408,8 +1410,6 @@ static int atl2_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	if (err)
 		goto err_sw_init;
 
-	err = -EIO;
-
 	netdev->hw_features = NETIF_F_HW_VLAN_CTAG_RX;
 	netdev->features |= (NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX);
 
-- 
2.7.4

[toc] | [next] | [standalone]


#1647094 — Re: [PATCH] net: atheros: atl2: don't return zero on failure path in atl2_probe()

FromDavid Miller <davem@davemloft.net>
Date2017-05-22 18:10 +0200
SubjectRe: [PATCH] net: atheros: atl2: don't return zero on failure path in atl2_probe()
Message-ID<tJY4a-7To-23@gated-at.bofh.it>
In reply to#1645992
From: Alexey Khoroshilov <khoroshilov@ispras.ru>
Date: Sat, 20 May 2017 01:52:11 +0300

> If dma mask checks fail in atl2_probe(), it breaks off initialization,
> deallocates all resources, but returns zero.
> 
> The patch adds proper error code return value and
> make error code setup unified.
> 
> Found by Linux Driver Verification project (linuxtesting.org).
> 
> Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>

Looks good, applied, thanks.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web