aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c2
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/p2p.c19
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c12
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.h1
4 files changed, 14 insertions, 20 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
index d3c4fba065ad..af39edae8c62 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
@@ -702,7 +702,7 @@ int brcmf_net_attach(struct brcmf_if *ifp, bool rtnl_locked)
702 702
703 brcmf_dbg(INFO, "%s: Broadcom Dongle Host Driver\n", ndev->name); 703 brcmf_dbg(INFO, "%s: Broadcom Dongle Host Driver\n", ndev->name);
704 704
705 ndev->destructor = free_netdev; 705 ndev->destructor = brcmf_cfg80211_free_netdev;
706 return 0; 706 return 0;
707 707
708fail: 708fail:
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/p2p.c b/drivers/net/wireless/brcm80211/brcmfmac/p2p.c
index af5c4c70f63d..e23c869bfe33 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/p2p.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/p2p.c
@@ -2241,23 +2241,6 @@ static void brcmf_p2p_delete_p2pdev(struct brcmf_p2p_info *p2p,
2241} 2241}
2242 2242
2243/** 2243/**
2244 * brcmf_p2p_free_p2p_if() - free up net device related data.
2245 *
2246 * @ndev: net device that needs to be freed.
2247 */
2248static void brcmf_p2p_free_p2p_if(struct net_device *ndev)
2249{
2250 struct brcmf_cfg80211_vif *vif;
2251 struct brcmf_if *ifp;
2252
2253 ifp = netdev_priv(ndev);
2254 vif = ifp->vif;
2255
2256 brcmf_free_vif(vif);
2257 free_netdev(ifp->ndev);
2258}
2259
2260/**
2261 * brcmf_p2p_add_vif() - create a new P2P virtual interface. 2244 * brcmf_p2p_add_vif() - create a new P2P virtual interface.
2262 * 2245 *
2263 * @wiphy: wiphy device of new interface. 2246 * @wiphy: wiphy device of new interface.
@@ -2334,8 +2317,6 @@ struct wireless_dev *brcmf_p2p_add_vif(struct wiphy *wiphy, const char *name,
2334 brcmf_err("Registering netdevice failed\n"); 2317 brcmf_err("Registering netdevice failed\n");
2335 goto fail; 2318 goto fail;
2336 } 2319 }
2337 /* override destructor */
2338 ifp->ndev->destructor = brcmf_p2p_free_p2p_if;
2339 2320
2340 cfg->p2p.bss_idx[P2PAPI_BSSCFG_CONNECTION].vif = vif; 2321 cfg->p2p.bss_idx[P2PAPI_BSSCFG_CONNECTION].vif = vif;
2341 /* Disable firmware roaming for P2P interface */ 2322 /* Disable firmware roaming for P2P interface */
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
index 3e3de34422bd..aad83aef7d93 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
@@ -4385,6 +4385,18 @@ void brcmf_free_vif(struct brcmf_cfg80211_vif *vif)
4385 kfree(vif); 4385 kfree(vif);
4386} 4386}
4387 4387
4388void brcmf_cfg80211_free_netdev(struct net_device *ndev)
4389{
4390 struct brcmf_cfg80211_vif *vif;
4391 struct brcmf_if *ifp;
4392
4393 ifp = netdev_priv(ndev);
4394 vif = ifp->vif;
4395
4396 brcmf_free_vif(vif);
4397 free_netdev(ndev);
4398}
4399
4388static bool brcmf_is_linkup(const struct brcmf_event_msg *e) 4400static bool brcmf_is_linkup(const struct brcmf_event_msg *e)
4389{ 4401{
4390 u32 event = e->event_code; 4402 u32 event = e->event_code;
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.h b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.h
index d9b2d62b3892..2dc6a074e8ed 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.h
+++ b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.h
@@ -505,5 +505,6 @@ s32 brcmf_notify_escan_complete(struct brcmf_cfg80211_info *cfg,
505 bool fw_abort); 505 bool fw_abort);
506void brcmf_set_mpc(struct brcmf_if *ndev, int mpc); 506void brcmf_set_mpc(struct brcmf_if *ndev, int mpc);
507void brcmf_abort_scanning(struct brcmf_cfg80211_info *cfg); 507void brcmf_abort_scanning(struct brcmf_cfg80211_info *cfg);
508void brcmf_cfg80211_free_netdev(struct net_device *ndev);
508 509
509#endif /* _wl_cfg80211_h_ */ 510#endif /* _wl_cfg80211_h_ */