Skip to content

Commit 8b72591

Browse files
WenChieh-Fenggregkh
authored andcommitted
brcmfmac: Fix warning message after dongle setup failed
[ Upstream commit 6aa5a83 ] Brcmfmac showed warning message in fweh.c when checking the size of event queue which is not initialized. Therefore, we only cancel the worker and reset event handler only when it is initialized. [ 145.505899] brcmfmac 0000:02:00.0: brcmf_pcie_setup: Dongle setup [ 145.929970] ------------[ cut here ]------------ [ 145.929994] WARNING: CPU: 0 PID: 288 at drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c:312 brcmf_fweh_detach+0xbc/0xd0 [brcmfmac] ... [ 145.930029] Call Trace: [ 145.930036] brcmf_detach+0x77/0x100 [brcmfmac] [ 145.930043] brcmf_pcie_remove+0x79/0x130 [brcmfmac] [ 145.930046] pci_device_remove+0x39/0xc0 [ 145.930048] device_release_driver_internal+0x141/0x200 [ 145.930049] device_release_driver+0x12/0x20 [ 145.930054] brcmf_pcie_setup+0x101/0x3c0 [brcmfmac] [ 145.930060] brcmf_fw_request_done+0x11d/0x1f0 [brcmfmac] [ 145.930062] ? lock_timer_base+0x7d/0xa0 [ 145.930063] ? internal_add_timer+0x1f/0xa0 [ 145.930064] ? add_timer+0x11a/0x1d0 [ 145.930066] ? __kmalloc_track_caller+0x18c/0x230 [ 145.930068] ? kstrdup_const+0x23/0x30 [ 145.930069] ? add_dr+0x46/0x80 [ 145.930070] ? devres_add+0x3f/0x50 [ 145.930072] ? usermodehelper_read_unlock+0x15/0x20 [ 145.930073] ? _request_firmware+0x288/0xa20 [ 145.930075] request_firmware_work_func+0x36/0x60 [ 145.930077] process_one_work+0x144/0x360 [ 145.930078] worker_thread+0x4d/0x3c0 [ 145.930079] kthread+0x112/0x150 [ 145.930080] ? rescuer_thread+0x340/0x340 [ 145.930081] ? kthread_park+0x60/0x60 [ 145.930083] ret_from_fork+0x25/0x30 Signed-off-by: Wright Feng <[email protected]> Signed-off-by: Chi-hsien Lin <[email protected]> Signed-off-by: Kalle Valo <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Sasha Levin <[email protected]>
1 parent 8354df5 commit 8b72591

File tree

1 file changed

+6
-4
lines changed
  • drivers/net/wireless/broadcom/brcm80211/brcmfmac

1 file changed

+6
-4
lines changed

drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -304,10 +304,12 @@ void brcmf_fweh_detach(struct brcmf_pub *drvr)
304304
{
305305
struct brcmf_fweh_info *fweh = &drvr->fweh;
306306

307-
/* cancel the worker */
308-
cancel_work_sync(&fweh->event_work);
309-
WARN_ON(!list_empty(&fweh->event_q));
310-
memset(fweh->evt_handler, 0, sizeof(fweh->evt_handler));
307+
/* cancel the worker if initialized */
308+
if (fweh->event_work.func) {
309+
cancel_work_sync(&fweh->event_work);
310+
WARN_ON(!list_empty(&fweh->event_q));
311+
memset(fweh->evt_handler, 0, sizeof(fweh->evt_handler));
312+
}
311313
}
312314

313315
/**

0 commit comments

Comments
 (0)