On Sat, 3 Aug 2019 20:31:39 +0800, Jiangfeng Xiao wrote: > If hip04_tx_reclaim is interrupted while it is running > and then __napi_schedule continues to execute > hip04_rx_poll->hip04_tx_reclaim, reentrancy occurs > and oops is generated. So you need to mask the interrupt > during the hip04_tx_reclaim run.
Napi poll method for the same napi instance can't be run concurrently. Could you explain a little more what happens here? Also looking at hip04_rx_poll() I don't think the interrupt re-enabling logic guarantees the interrupt is not armed when NAPI is scheduled. Please note that NAPI is no longer scheduled if napi_complete_done() returned false.

