Re: [PATCH] tg3:Add error handling to the function tg3_test_loopback
flat view
From: Michael Chan <hidden>
Date: 2015-07-16 19:20:38
Also in:
lkml
On Thu, 2015-07-16 at 12:18 -0700, Michael Chan wrote:
On Thu, 2015-07-16 at 14:51 -0400, Nicholas Krause wrote:quoted
This adds proper error handling for if the calls to the function tg3_phy_lpbk_set fail by returning -EIO by assigning the return value to the variable err and if it equals anything other then zero jumps to the goto label done as no other work can be handled internally in the function tg3_test_loopback. Signed-off-by: Nicholas Krause <redacted>Acked-by: Michael Chan <redacted>
Your indentation doesn't look right. Other than that, it is ok.
quoted
--- drivers/net/ethernet/broadcom/tg3.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c index 73c934c..8584cb7 100644 --- a/drivers/net/ethernet/broadcom/tg3.c +++ b/drivers/net/ethernet/broadcom/tg3.c@@ -13625,8 +13625,10 @@ static int tg3_test_loopback(struct tg3 *tp, u64 *data, bool do_extlpbk) !tg3_flag(tp, USE_PHYLIB)) { int i; - tg3_phy_lpbk_set(tp, 0, false); - + err = tg3_phy_lpbk_set(tp, 0, false); + if (err) + goto done; + /* Wait for link */ for (i = 0; i < 100; i++) { if (tr32(MAC_TX_STATUS) & TX_STATUS_LINK_UP)@@ -13644,8 +13646,10 @@ static int tg3_test_loopback(struct tg3 *tp, u64 *data, bool do_extlpbk) data[TG3_PHY_LOOPB_TEST] |= TG3_JMB_LOOPBACK_FAILED; if (do_extlpbk) { - tg3_phy_lpbk_set(tp, 0, true); - + err = tg3_phy_lpbk_set(tp, 0, true); + + if (err) + goto done; /* All link indications report up, but the hardware * isn't really ready for about 20 msec. Double it * to be sure.