Messages in this thread | | | From | Arend Van Spriel <> | Date | Mon, 28 Sep 2020 10:03:25 +0200 | Subject | Re: [patch 25/35] net: brcmfmac: Use netif_rx_any_context(). |
| |
On 9/27/2020 9:49 PM, Thomas Gleixner wrote: > From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> > > The usage of in_interrupt() in non-core code is phased out. Ideally the > information of the calling context should be passed by the callers or the > functions be split as appropriate. > > brcmfmac uses in_interupt() to select the netif_rx*() variant which matches > the calling context. The attempt to consolidate the code by passing an > arguemnt or by distangling it failed due lack of knowledge about this > driver and because the call chains are convoluted and hard to follow.
I think it is only for USB devices that the function can be called in "interrupt" context. PCIe devices call it from thread context for sure. The function brcmf_netif_rx() is (in)directly called by brcmf_rx_frame(), which is used by SDIO and USB. Anyway, it will be a bit more work, but doable. Let me see what I can come up with.
Regards, Arend
[unhandled content-type:application/pkcs7-signature] | |