r8152: check budget for r8152_poll()
authorHayes Wang <hayeswang@realtek.com>
Fri, 8 Sep 2023 07:01:52 +0000 (15:01 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 11 Sep 2023 08:58:34 +0000 (09:58 +0100)
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>
drivers/net/usb/r8152.c

index 332c853..0c13d99 100644 (file)
@@ -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) {