brcmfmac: fix NULL pointer access in brcmf_fweh_detach()

brcmf_fweh_detach can be called while ifp is already NULL, due to
init error. Fix NULL pointer access by checking ifp.

Reviewed-by: Arend Van Spriel <arend@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Hante Meuleman
2012-11-14 18:46:13 -08:00
committed by John W. Linville
parent 0b63cb71f1
commit df19e777e0

View File

@@ -374,11 +374,13 @@ void brcmf_fweh_detach(struct brcmf_pub *drvr)
struct brcmf_if *ifp = drvr->iflist[0]; struct brcmf_if *ifp = drvr->iflist[0];
s8 eventmask[BRCMF_EVENTING_MASK_LEN]; s8 eventmask[BRCMF_EVENTING_MASK_LEN];
/* clear all events */ if (ifp) {
memset(eventmask, 0, BRCMF_EVENTING_MASK_LEN); /* clear all events */
(void)brcmf_fil_iovar_data_set(ifp, "event_msgs", memset(eventmask, 0, BRCMF_EVENTING_MASK_LEN);
eventmask, BRCMF_EVENTING_MASK_LEN); (void)brcmf_fil_iovar_data_set(ifp, "event_msgs",
eventmask,
BRCMF_EVENTING_MASK_LEN);
}
/* cancel the worker */ /* cancel the worker */
cancel_work_sync(&fweh->event_work); cancel_work_sync(&fweh->event_work);
WARN_ON(!list_empty(&fweh->event_q)); WARN_ON(!list_empty(&fweh->event_q));