Commit fcb37018 authored by Arend van Spriel's avatar Arend van Spriel Committed by John W. Linville

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.orgTested-by: default avatarStephen Warren <swarren@nvidia.com>
Reviewed-by: default avatarHante Meuleman <meuleman@broadcom.com>
Reviewed-by: default avatarPieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: default avatarArend van Spriel <arend@broadcom.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent ea05fea9
...@@ -930,6 +930,10 @@ int brcmf_bus_start(struct device *dev) ...@@ -930,6 +930,10 @@ int brcmf_bus_start(struct device *dev)
brcmf_fws_del_interface(ifp); brcmf_fws_del_interface(ifp);
brcmf_fws_deinit(drvr); brcmf_fws_deinit(drvr);
} }
if (drvr->iflist[0]) {
free_netdev(ifp->ndev);
drvr->iflist[0] = NULL;
}
if (p2p_ifp) { if (p2p_ifp) {
free_netdev(p2p_ifp->ndev); free_netdev(p2p_ifp->ndev);
drvr->iflist[1] = NULL; drvr->iflist[1] = NULL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment