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:
committed by
John W. Linville
parent
0b63cb71f1
commit
df19e777e0
@@ -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));
|
||||||
|
Reference in New Issue
Block a user