123456789101112131415161718192021222324252627282930313233 |
- From e0bfb9601d4812719167cc4124a0d6db1e2f55e4 Mon Sep 17 00:00:00 2001
- From: Arend van Spriel <arend.vanspriel@broadcom.com>
- Date: Thu, 11 Jul 2019 11:05:11 +0200
- Subject: [PATCH] brcmfmac: simply remove flowring if bus is down
- When the bus is down, eg. due to rmmod, there is no need to
- attempt to inform firmware about it.
- Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com>
- Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
- Reviewed-by: Franky Lin <franky.lin@broadcom.com>
- Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
- Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
- ---
- drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c | 7 +++++++
- 1 file changed, 7 insertions(+)
- --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
- +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
- @@ -1406,6 +1406,13 @@ void brcmf_msgbuf_delete_flowring(struct
- u8 ifidx;
- int err;
-
- + /* no need to submit if firmware can not be reached */
- + if (drvr->bus_if->state != BRCMF_BUS_UP) {
- + brcmf_dbg(MSGBUF, "bus down, flowring will be removed\n");
- + brcmf_msgbuf_remove_flowring(msgbuf, flowid);
- + return;
- + }
- +
- commonring = msgbuf->commonrings[BRCMF_H2D_MSGRING_CONTROL_SUBMIT];
- brcmf_commonring_lock(commonring);
- ret_ptr = brcmf_commonring_reserve_for_write(commonring);
|