mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
staging: brcm80211: bugfix for stack dump on firmware load problems
If there is a problem with the firmware load (eg, firmware not present in /lib/firmware/brcm), then the driver would dump its stack instead of bailing out gracefully. Root cause was an uninitialized variable (wl->pub) being dereferenced in the rfkill portion of a cleanup routine (wl_remove). Fix was to move the rfkill calls into the correct spot in wl_remove(). Signed-off-by: Roland Vossen <rvossen@broadcom.com> Reviewed-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
59909c7c29
commit
490e00f685
@ -1206,15 +1206,13 @@ static void wl_remove(struct pci_dev *pdev)
|
||||
return;
|
||||
}
|
||||
|
||||
/* make sure rfkill is not using driver */
|
||||
wiphy_rfkill_set_hw_state(wl->pub->ieee_hw->wiphy, false);
|
||||
wiphy_rfkill_stop_polling(wl->pub->ieee_hw->wiphy);
|
||||
|
||||
if (!wlc_chipmatch(pdev->vendor, pdev->device)) {
|
||||
WL_ERROR("wl: wl_remove: wlc_chipmatch failed\n");
|
||||
return;
|
||||
}
|
||||
if (wl->wlc) {
|
||||
wiphy_rfkill_set_hw_state(wl->pub->ieee_hw->wiphy, false);
|
||||
wiphy_rfkill_stop_polling(wl->pub->ieee_hw->wiphy);
|
||||
ieee80211_unregister_hw(hw);
|
||||
WL_LOCK(wl);
|
||||
wl_down(wl);
|
||||
|
Loading…
x
Reference in New Issue
Block a user