Hello:
This patch was applied to netdev/net.git (master) by David S. Miller davem@davemloft.net:
On Thu, 3 Mar 2022 12:10:27 -0600 you wrote:
There is an oddity in the way the RSR register flags propagate to the ISR register (and the actual interrupt output) on this hardware: it appears that RSR register bits only result in ISR being asserted if the interrupt was actually enabled at the time, so enabling interrupts with RSR bits already set doesn't trigger an interrupt to be raised. There was already a partial fix for this race in the macb_poll function where it checked for RSR bits being set and re-triggered NAPI receive. However, there was a still a race window between checking RSR and actually enabling interrupts, where a lost wakeup could happen. It's necessary to check again after enabling interrupts to see if RSR was set just prior to the interrupt being enabled, and re-trigger receive in that case.
[...]
Here is the summary with links: - [net,v2] net: macb: Fix lost RX packet wakeup race in NAPI receive https://git.kernel.org/netdev/net/c/0bf476fc3624
You are awesome, thank you!