On Wed, 02 Dec 2020 11:46:28 +0100 Lukasz Stelmach wrote: > >> + status = netif_rx(skb); > > > > If I'm reading things right this is in process context, so netif_rx_ni() > > > > Is it? The stack looks as follows > > ax88796c_skb_return() > ax88796c_rx_fixup() > ax88796c_receive() > ax88796c_process_isr() > ax88796c_work() > > and ax88796c_work() is a scheduled in the system_wq. Are you asking if work queue gets run in process context? It does. > >> + if (status != NET_RX_SUCCESS) > >> + netif_info(ax_local, rx_err, ndev, > >> + "netif_rx status %d\n", status); > > > > Again, it's inadvisable to put per packet prints without any rate > > limiting in the data path. > > Even if limmited by the msglvl flag, which is off by default? I'd err on the side of caution, but up to you.