Message ID | 1533694781-176974-1-git-send-email-chi-hsien.lin@cypress.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 27a8aea13053700ad2a08189024df7e341d1ee51 |
Delegated to: | Kalle Valo |
Headers | show |
Series | [v3] brcmfmac: fix brcmf_wiphy_wowl_params() NULL pointer dereference | expand |
Chi-Hsien Lin <chi-hsien.lin@cypress.com> wrote: > From: Winnie Chang <winnie.chang@cypress.com> > > The kernel BUG happens when wowl is enabled from firmware. In > brcmf_wiphy_wowl_params(), cfg is a NULL pointer because it is > drvr->config returned from wiphy_to_cfg(), and drvr->config is not set > yet. To fix it, set drvr->config before brcmf_setup_wiphy() which > calls brcmf_wiphy_wowl_params(). > > Fixes: 856d5a011c86 ("brcmfmac: allocate struct brcmf_pub instance using wiphy_new()") > Signed-off-by: Winnie Chang <winnie.chang@cypress.com> > Signed-off-by: Chi-Hsien Lin <chi-hsien.lin@cypress.com> Patch applied to wireless-drivers-next.git, thanks. 27a8aea13053 brcmfmac: fix brcmf_wiphy_wowl_params() NULL pointer dereference
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c index 24c4e18e7d80..5444e6213d45 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -6926,15 +6926,15 @@ struct brcmf_cfg80211_info *brcmf_cfg80211_attach(struct brcmf_pub *drvr, cfg->d11inf.io_type = (u8)io_type; brcmu_d11_attach(&cfg->d11inf); - err = brcmf_setup_wiphy(wiphy, ifp); - if (err < 0) - goto priv_out; - /* regulatory notifer below needs access to cfg so * assign it now. */ drvr->config = cfg; + err = brcmf_setup_wiphy(wiphy, ifp); + if (err < 0) + goto priv_out; + brcmf_dbg(INFO, "Registering custom regulatory\n"); wiphy->reg_notifier = brcmf_cfg80211_reg_notifier; wiphy->regulatory_flags |= REGULATORY_CUSTOM_REG;