[patch V2 26/36] net: brcmfmac: Convey execution context via argument to brcmf_netif_rx()

Arend Van Spriel arend.vanspriel at broadcom.com
Tue Sep 29 18:03:59 EDT 2020


On 9/29/2020 10:25 PM, Thomas Gleixner wrote:
> bcrmgf_netif_rx() uses in_interrupt to chose between netif_rx() and
> netif_rx_ni(). in_interrupt() usage in drivers is phased out.
> 
> Convey the execution mode via an 'inirq' argument through the various
> callchains leading to brcmf_netif_rx():
> 
> brcmf_pcie_isr_thread()		    <- Task context
>    brcmf_proto_msgbuf_rx_trigger()
>      brcmf_msgbuf_process_rx()
>        brcmf_msgbuf_process_msgtype()
>          brcmf_msgbuf_process_rx_complete()
> 	  brcmf_netif_mon_rx()
> 	     brcmf_netif_rx(isirq = false)
> 	  brcmf_netif_rx(isirq = false)
> 
> brcmf_sdio_readframes()  <- Task context sdio_claim_host() might sleep
>    brcmf_rx_frame(isirq = false)
> 
> brcmf_sdio_rxglom()      <- Task context sdio_claim_host() might sleep
>    brcmf_rx_frame(isirq = false)
> 
> brcmf_usb_rx_complete()  <- Interrupt context
>    brcmf_rx_frame(isirq = true)
> 
> brcmf_rx_frame()
>    brcmf_proto_rxreorder()
>      brcmf_proto_bcdc_rxreorder()
>        brcmf_fws_rxreorder()
>          brcmf_netif_rx()
>        brcmf_netif_rx()

Thanks for taking the dive.

Reviewed-by: Arend van Spriel <arend.vanspriel at broadcom.com>
> Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
> Cc: Arend van Spriel <arend.vanspriel at broadcom.com>
> Cc: Kalle Valo <kvalo at codeaurora.org>
> ---
> V2: New patch. Using an argument instead of switching to netif_rx_any_context()
> ---
>   drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c     |    4 +--
>   drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h      |    3 +-
>   drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c     |   16 ++++++------
>   drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h     |    2 -
>   drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c |   10 +++----
>   drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.h |    2 -
>   drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c   |    5 ++-
>   drivers/net/wireless/broadcom/brcm80211/brcmfmac/proto.h    |    6 ++--
>   drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c     |    4 +--
>   drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c      |    2 -
>   10 files changed, 29 insertions(+), 25 deletions(-)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4176 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.infradead.org/pipermail/libertas-dev/attachments/20200930/8ad054ab/attachment.p7s>


More information about the libertas-dev mailing list