[NETDEV]: ixgbe Fix possible causing oops of net_rx_action
Signed-off-by: Joonwoo Park <[email protected]>
---
drivers/net/ixgbe/ixgbe_main.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index 00bc525..0b3ae8f 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -583,6 +583,8 @@ quit_polling:
if (!test_bit(__IXGBE_DOWN, &adapter->state))
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EIMS,
rxr->eims_value);
+ if (unlikely(work_done == napi->weight))
+ return work_done - 1;
}
return work_done;
@@ -1485,6 +1487,8 @@ static int ixgbe_clean(struct napi_struct *napi, int budget)
quit_polling:
netif_rx_complete(netdev, napi);
ixgbe_irq_enable(adapter);
+ if (unlikely(work_done == napi->weight))
+ return work_done - 1;
}
return work_done;
---