mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 23:12:32 +00:00
db8e08a5a4
This doesn't include 9ff8614a3dbe ("brcmfmac: use separate Kconfig file for brcmfmac") due to a few conflicts with backports changes. An important change is: [PATCH 2/7] brcmfmac: change the order of things in brcmf_detach() which fixes a rmmod crash in the brcmf_txfinalize(). Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
33 lines
1.3 KiB
Diff
33 lines
1.3 KiB
Diff
From dabf1e17d33e087d4e24e6d0224cf9bc04ebfcc1 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 6/7] 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>
|
|
---
|
|
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
|
|
@@ -1398,6 +1398,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);
|