On 2024-09-17 13:19:25 [+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.") > Signed-off-by: Hubert Wiśniewski <hubert.wisniewski.25632@xxxxxxxxx> This does not look right. Can you add a backtrace and check with lockdep enabled? netif_rx() should not disable BH if invoked from an interrupt. Sebastian