summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorWei Yongjun2013-02-22 14:32:20 +0100
committerJohn W. Linville2013-02-22 20:50:47 +0100
commitdc4a787c8f52f9d6e46156953f8014a3353bcbc7 (patch)
treed8b8551f0f18968fb79f4201e79952023fa33e9e /drivers/net/wireless
parentmwifiex: fix system freeze while reloading driver (diff)
downloadkernel-qcow2-linux-dc4a787c8f52f9d6e46156953f8014a3353bcbc7.tar.gz
kernel-qcow2-linux-dc4a787c8f52f9d6e46156953f8014a3353bcbc7.tar.xz
kernel-qcow2-linux-dc4a787c8f52f9d6e46156953f8014a3353bcbc7.zip
brcmfmac: fix missing unlock on error in brcmf_notify_vif_event()
Add the missing unlock before return from function brcmf_notify_vif_event() in the error handling case. Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Acked-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
index cecc3eff72e9..2af9c0f0798d 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
@@ -4615,8 +4615,10 @@ static s32 brcmf_notify_vif_event(struct brcmf_if *ifp,
switch (ifevent->action) {
case BRCMF_E_IF_ADD:
/* waiting process may have timed out */
- if (!cfg->vif_event.vif)
+ if (!cfg->vif_event.vif) {
+ mutex_unlock(&event->vif_event_lock);
return -EBADF;
+ }
ifp->vif = vif;
vif->ifp = ifp;