Thread (2 messages) 2 messages, 1 author, 2015-07-16

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help