• Sebastian Andrzej Siewior's avatar
    net: brcmfmac: Convey allocation mode as argument · c597ede4
    Sebastian Andrzej Siewior authored
    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.
    Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c597ede4
msgbuf.c 43.7 KB