diff options
author | Julia Lawall <Julia.Lawall@lip6.fr> | 2013-12-29 17:47:22 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-01-02 03:30:35 -0500 |
commit | 4fc3ecde699580c2f1fdd8973080a599c6b1a719 (patch) | |
tree | 5b09ef302ef09c38233073b9925d1b9c31f80023 /drivers/net/ethernet/toshiba | |
parent | 0c3584d58913a72a6b28a976f7c0bfd2afb65237 (diff) |
net: fix error return code
Set the return variable to propagate any error code as done elsewhere in
the function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
(
if@p1 (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret@p1 = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/toshiba')
-rw-r--r-- | drivers/net/ethernet/toshiba/ps3_gelic_net.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/drivers/net/ethernet/toshiba/ps3_gelic_net.c b/drivers/net/ethernet/toshiba/ps3_gelic_net.c index f7f2ef49c0c1..d899d0072ae0 100644 --- a/drivers/net/ethernet/toshiba/ps3_gelic_net.c +++ b/drivers/net/ethernet/toshiba/ps3_gelic_net.c | |||
@@ -1739,12 +1739,14 @@ static int ps3_gelic_driver_probe(struct ps3_system_bus_device *dev) | |||
1739 | GELIC_CARD_PORT_STATUS_CHANGED; | 1739 | GELIC_CARD_PORT_STATUS_CHANGED; |
1740 | 1740 | ||
1741 | 1741 | ||
1742 | if (gelic_card_init_chain(card, &card->tx_chain, | 1742 | result = gelic_card_init_chain(card, &card->tx_chain, |
1743 | card->descr, GELIC_NET_TX_DESCRIPTORS)) | 1743 | card->descr, GELIC_NET_TX_DESCRIPTORS); |
1744 | if (result) | ||
1744 | goto fail_alloc_tx; | 1745 | goto fail_alloc_tx; |
1745 | if (gelic_card_init_chain(card, &card->rx_chain, | 1746 | result = gelic_card_init_chain(card, &card->rx_chain, |
1746 | card->descr + GELIC_NET_TX_DESCRIPTORS, | 1747 | card->descr + GELIC_NET_TX_DESCRIPTORS, |
1747 | GELIC_NET_RX_DESCRIPTORS)) | 1748 | GELIC_NET_RX_DESCRIPTORS); |
1749 | if (result) | ||
1748 | goto fail_alloc_rx; | 1750 | goto fail_alloc_rx; |
1749 | 1751 | ||
1750 | /* head of chain */ | 1752 | /* head of chain */ |
@@ -1754,7 +1756,8 @@ static int ps3_gelic_driver_probe(struct ps3_system_bus_device *dev) | |||
1754 | card->rx_top, card->tx_top, sizeof(struct gelic_descr), | 1756 | card->rx_top, card->tx_top, sizeof(struct gelic_descr), |
1755 | GELIC_NET_RX_DESCRIPTORS); | 1757 | GELIC_NET_RX_DESCRIPTORS); |
1756 | /* allocate rx skbs */ | 1758 | /* allocate rx skbs */ |
1757 | if (gelic_card_alloc_rx_skbs(card)) | 1759 | result = gelic_card_alloc_rx_skbs(card); |
1760 | if (result) | ||
1758 | goto fail_alloc_skbs; | 1761 | goto fail_alloc_skbs; |
1759 | 1762 | ||
1760 | spin_lock_init(&card->tx_lock); | 1763 | spin_lock_init(&card->tx_lock); |
@@ -1772,7 +1775,8 @@ static int ps3_gelic_driver_probe(struct ps3_system_bus_device *dev) | |||
1772 | } | 1775 | } |
1773 | 1776 | ||
1774 | #ifdef CONFIG_GELIC_WIRELESS | 1777 | #ifdef CONFIG_GELIC_WIRELESS |
1775 | if (gelic_wl_driver_probe(card)) { | 1778 | result = gelic_wl_driver_probe(card); |
1779 | if (result) { | ||
1776 | dev_dbg(&dev->core, "%s: WL init failed\n", __func__); | 1780 | dev_dbg(&dev->core, "%s: WL init failed\n", __func__); |
1777 | goto fail_setup_netdev; | 1781 | goto fail_setup_netdev; |
1778 | } | 1782 | } |