X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=package%2Fkernel%2Fmac80211%2Fpatches%2F352-v5.4-0004-brcmfmac-clear-events-in-brcmf_fweh_detach-will-alwa.patch;fp=package%2Fkernel%2Fmac80211%2Fpatches%2F352-v5.4-0004-brcmfmac-clear-events-in-brcmf_fweh_detach-will-alwa.patch;h=8483249db60cb2ed35e59a6bbe5b921130dc112c;hb=b55dd9be3f9eccf5e9496ab649f302da8d7fe3af;hp=0000000000000000000000000000000000000000;hpb=b5b5b23b303341869f9d6abf9c4760e656442a0d;p=openwrt%2Fopenwrt.git diff --git a/package/kernel/mac80211/patches/352-v5.4-0004-brcmfmac-clear-events-in-brcmf_fweh_detach-will-alwa.patch b/package/kernel/mac80211/patches/352-v5.4-0004-brcmfmac-clear-events-in-brcmf_fweh_detach-will-alwa.patch new file mode 100644 index 0000000000..8483249db6 --- /dev/null +++ b/package/kernel/mac80211/patches/352-v5.4-0004-brcmfmac-clear-events-in-brcmf_fweh_detach-will-alwa.patch @@ -0,0 +1,37 @@ +From 0d91defd7bfc42c0ed053ba03b5ea2eff2e1d2f5 Mon Sep 17 00:00:00 2001 +From: Arend van Spriel +Date: Thu, 11 Jul 2019 11:05:09 +0200 +Subject: [PATCH 4/7] brcmfmac: clear events in brcmf_fweh_detach() will always + fail + +Clearing firmware events in brcmf_fweh_detach() is always failing +because it is called only upon driver remove and communication +with firmware is no longer possible. + +Reviewed-by: Hante Meuleman +Reviewed-by: Pieter-Paul Giesberts +Reviewed-by: Franky Lin +Signed-off-by: Arend van Spriel +--- + drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c | 9 --------- + 1 file changed, 9 deletions(-) + +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c +@@ -314,16 +314,7 @@ void brcmf_fweh_attach(struct brcmf_pub + void brcmf_fweh_detach(struct brcmf_pub *drvr) + { + struct brcmf_fweh_info *fweh = &drvr->fweh; +- struct brcmf_if *ifp = brcmf_get_ifp(drvr, 0); +- s8 eventmask[BRCMF_EVENTING_MASK_LEN]; + +- if (ifp) { +- /* clear all events */ +- memset(eventmask, 0, BRCMF_EVENTING_MASK_LEN); +- (void)brcmf_fil_iovar_data_set(ifp, "event_msgs", +- eventmask, +- BRCMF_EVENTING_MASK_LEN); +- } + /* cancel the worker */ + cancel_work_sync(&fweh->event_work); + WARN_ON(!list_empty(&fweh->event_q));