Messages in this thread |  | | Subject | Re: [patch V2 27/36] net: brcmfmac: Convey allocation mode as argument | From | Arend Van Spriel <> | Date | Wed, 30 Sep 2020 00:07:30 +0200 |
| |
On 9/29/2020 10:25 PM, Thomas Gleixner wrote: > From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> > > The usage of in_interrupt() in drivers is phased out and Linus clearly > requested that code which changes behaviour depending on context should > either be seperated or the context be conveyed in an argument passed by the > caller, which usually knows the context. > > brcmf_fweh_process_event() uses in_interrupt() to select the allocation > mode GFP_KERNEL/GFP_ATOMIC. Aside of the above reasons this check is > incomplete as it cannot detect contexts which just have preemption or > interrupts disabled. > > All callchains leading to brcmf_fweh_process_event() can clearly identify > the calling context. Convey a 'gfp' argument through the callchains and let > the callers hand in the appropriate GFP mode. > > This has also the advantage that any change of execution context or > preemption/interrupt state in these callchains will be detected by the > memory allocator for all GFP_KERNEL allocations.
Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com> > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> > Signed-off-by: Thomas Gleixner <tglx@linutronix.de> > --- > V2: Adopt to the 'inirq' changes > --- > drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c | 10 ++++++---- > drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c | 8 ++------ > drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.h | 7 ++++--- > drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c | 2 +- > 4 files changed, 13 insertions(+), 14 deletions(-) [unhandled content-type:application/pkcs7-signature] |  |