[PATCH 2/2] asix: fix wrong return value in asix_check_host_enable()

From: Pavel Skripkin
Date: Tue Dec 21 2021 - 14:40:12 EST


If asix_read_cmd() returns 0 on 30th interation, 0 will be returned from
asix_check_host_enable(), which is logically wrong. Fix it by returning
-ETIMEDOUT explicitly if we have exceeded 30 iterations

Fixes: a786e3195d6a ("net: asix: fix uninit value bugs")
Reported-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: Pavel Skripkin <paskripkin@xxxxxxxxx>
---
drivers/net/usb/asix_common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/usb/asix_common.c b/drivers/net/usb/asix_common.c
index 06823d7141b6..8c61d410a123 100644
--- a/drivers/net/usb/asix_common.c
+++ b/drivers/net/usb/asix_common.c
@@ -83,7 +83,7 @@ static int asix_check_host_enable(struct usbnet *dev, int in_pm)
break;
}

- return ret;
+ return i >= 30? -ETIMEDOUT: ret;
}

static void reset_asix_rx_fixup_info(struct asix_rx_fixup_info *rx)
--
2.34.1