kernel: add missing config symbols for 4.9
[openwrt/staging/yousong.git] / package / kernel / mac80211 / patches / 358-0001-brcmfmac-fix-memory-leak-in-brcmf_cfg80211_attach.patch
1 From cb853da3a368c40300a0e940f86be582037bb082 Mon Sep 17 00:00:00 2001
2 From: Arend Van Spriel <arend.vanspriel@broadcom.com>
3 Date: Fri, 9 Dec 2016 11:34:13 +0000
4 Subject: [PATCH] brcmfmac: fix memory leak in brcmf_cfg80211_attach()
5
6 In brcmf_cfg80211_attach() there was one error path not properly
7 handled as it leaked memory allocated in brcmf_btcoex_attach().
8
9 Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com>
10 Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
11 Reviewed-by: Franky Lin <franky.lin@broadcom.com>
12 Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
13 Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
14 ---
15 drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 7 +++++--
16 1 file changed, 5 insertions(+), 2 deletions(-)
17
18 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
19 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
20 @@ -6866,7 +6866,7 @@ struct brcmf_cfg80211_info *brcmf_cfg802
21
22 err = brcmf_p2p_attach(cfg, p2pdev_forced);
23 if (err) {
24 - brcmf_err("P2P initilisation failed (%d)\n", err);
25 + brcmf_err("P2P initialisation failed (%d)\n", err);
26 goto wiphy_unreg_out;
27 }
28 err = brcmf_btcoex_attach(cfg);
29 @@ -6891,7 +6891,7 @@ struct brcmf_cfg80211_info *brcmf_cfg802
30 err = brcmf_fweh_activate_events(ifp);
31 if (err) {
32 brcmf_err("FWEH activation failed (%d)\n", err);
33 - goto wiphy_unreg_out;
34 + goto detach;
35 }
36
37 /* Fill in some of the advertised nl80211 supported features */
38 @@ -6906,6 +6906,9 @@ struct brcmf_cfg80211_info *brcmf_cfg802
39
40 return cfg;
41
42 +detach:
43 + brcmf_btcoex_detach(cfg);
44 + brcmf_p2p_detach(&cfg->p2p);
45 wiphy_unreg_out:
46 wiphy_unregister(cfg->wiphy);
47 priv_out: