aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHayes Wang <hayeswang@realtek.com>2023-09-08 15:01:52 +0800
committerDavid S. Miller <davem@davemloft.net>2023-09-11 09:58:34 +0100
commita7b8d60b37237680009dd0b025fe8c067aba0ee3 (patch)
tree794184e196f3b1272d7f1a56d2486dbc5acb3be4
parent904de9858eb4b48a217bb6e26f43c37d4c52ff36 (diff)
downloadlinux-a7b8d60b37237680009dd0b025fe8c067aba0ee3.tar.gz
r8152: check budget for r8152_poll()
According to the document of napi, there is no rx process when the budget is 0. Therefore, r8152_poll() has to return 0 directly when the budget is equal to 0. Fixes: d2187f8e4454 ("r8152: divide the tx and rx bottom functions") Signed-off-by: Hayes Wang <hayeswang@realtek.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/usb/r8152.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
index 332c853ca99b30..0c13d9950cd855 100644
--- a/drivers/net/usb/r8152.c
+++ b/drivers/net/usb/r8152.c
@@ -2636,6 +2636,9 @@ static int r8152_poll(struct napi_struct *napi, int budget)
struct r8152 *tp = container_of(napi, struct r8152, napi);
int work_done;
+ if (!budget)
+ return 0;
+
work_done = rx_bottom(tp, budget);
if (work_done < budget) {