r8152: check budget for r8152_poll()
authorHayes Wang <hayeswang@realtek.com>
Fri, 8 Sep 2023 07:01:52 +0000 (15:01 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 19 Sep 2023 10:28:09 +0000 (12:28 +0200)
[ Upstream commit a7b8d60b37237680009dd0b025fe8c067aba0ee3 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/usb/r8152.c

index 059d610..fc1458f 100644 (file)
@@ -2628,6 +2628,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) {