On 2024-09-17 15:56:33 [+0200], Hubert Wiśniewski wrote: > netif_rx() now disables bottom halves, which causes the USB gadget to be > unable to receive frames if the interface is not brought up quickly enough > after being created by the driver (a bug confirmed on AM3352 SoC). > > Replacing netif_rx() with __netif_rx() restores the old behavior and fixes > the bug. This can be done since rx_callback() is called from the interrupt > context. > > Fixes: baebdf48c360 ("net: dev: Makes sure netif_rx() can be invoked in any context.") > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Hubert Wiśniewski <hubert.wisniewski.25632@xxxxxxxxx> Now that I see v3, my v2 question stands. This supposed only to disable BH if invoked from from non-interrupt. hardirq and softirq should be good. A backtrace would be nice and further explanation how this becomes a problem. Also lockdep should complain at some point. Sebastian