mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-02-21 21:02:24 +00:00
netpoll: do not test NAPI_STATE_SCHED in poll_one_napi()
Since we do no longer require NAPI drivers to provide an ndo_poll_controller(), napi_schedule() has not been done before poll_one_napi() invocation. So testing NAPI_STATE_SCHED is likely to cause early returns. While we are at it, remove outdated comment. Note to future bisections : This change might surface prior bugs in drivers. See commit 73f21c653f93 ("bnxt_en: Fix TX timeout during netpoll.") for one occurrence. Fixes: ac3d9dd034e5 ("netpoll: make ndo_poll_controller() optional") Signed-off-by: Eric Dumazet <edumazet@google.com> Tested-by: Song Liu <songliubraving@fb.com> Cc: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
05c5e9ff22
commit
c24498c682
@ -135,27 +135,9 @@ static void queue_process(struct work_struct *work)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Check whether delayed processing was scheduled for our NIC. If so,
|
||||
* we attempt to grab the poll lock and use ->poll() to pump the card.
|
||||
* If this fails, either we've recursed in ->poll() or it's already
|
||||
* running on another CPU.
|
||||
*
|
||||
* Note: we don't mask interrupts with this lock because we're using
|
||||
* trylock here and interrupts are already disabled in the softirq
|
||||
* case. Further, we test the poll_owner to avoid recursion on UP
|
||||
* systems where the lock doesn't exist.
|
||||
*/
|
||||
static void poll_one_napi(struct napi_struct *napi)
|
||||
{
|
||||
int work = 0;
|
||||
|
||||
/* net_rx_action's ->poll() invocations and our's are
|
||||
* synchronized by this test which is only made while
|
||||
* holding the napi->poll_lock.
|
||||
*/
|
||||
if (!test_bit(NAPI_STATE_SCHED, &napi->state))
|
||||
return;
|
||||
int work;
|
||||
|
||||
/* If we set this bit but see that it has already been set,
|
||||
* that indicates that napi has been disabled and we need
|
||||
|
Loading…
x
Reference in New Issue
Block a user