aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
diff options
context:
space:
mode:
authorArend van Spriel <arend@broadcom.com>2013-06-07 05:03:00 -0400
committerJohn W. Linville <linville@tuxdriver.com>2013-06-12 15:06:48 -0400
commitee06fcad742ab52a1ba67ba734fee6a98af51621 (patch)
tree7bf2e5edbf05ee40f50a54ddc704946a084ea4ac /drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
parentc7773fc1ef55b7d1ed44a27900b86dc28351dec4 (diff)
brcmfmac: free primary net_device when brcmf_bus_start() fails
When initialization within brcmf_bus_start() fails on steps before the brcmf_net_attach() the net_device for the primary interface needs to be freed. This patch resolves a panic during kernel boot as reported by Stephen Warren. ref.: http://mid.gmane.org/51AD1F22.2080004@wwwdotorg.org Tested-by: Stephen Warren <swarren@nvidia.com> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c')
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
index 29828865ed69..8c402e7b97eb 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
@@ -941,6 +941,10 @@ fail:
941 brcmf_fws_del_interface(ifp); 941 brcmf_fws_del_interface(ifp);
942 brcmf_fws_deinit(drvr); 942 brcmf_fws_deinit(drvr);
943 } 943 }
944 if (drvr->iflist[0]) {
945 free_netdev(ifp->ndev);
946 drvr->iflist[0] = NULL;
947 }
944 if (p2p_ifp) { 948 if (p2p_ifp) {
945 free_netdev(p2p_ifp->ndev); 949 free_netdev(p2p_ifp->ndev);
946 drvr->iflist[1] = NULL; 950 drvr->iflist[1] = NULL;