diff options
| author | Wei Yongjun <weiyj.lk@gmail.com> | 2016-10-01 00:38:08 +0800 |
|---|---|---|
| committer | Ben Hutchings <ben@decadent.org.uk> | 2017-02-23 03:54:07 +0000 |
| commit | 273f111f0e29eef958dd50d9fa71e87d8a8a4ffe (patch) | |
| tree | 4d6e79ffec8b2107200310dd8e26fe05dc638e25 | |
| parent | 0a43549f8249868c3dad4e646caa98df6f41127c (diff) | |
staging: rtl8188eu: fix double unlock error in rtw_resume_process()
commit 23bf40424a0f641ca7ff4225add4aa592086bdd5 upstream.
Fix following static checker warning:
drivers/staging/rtl8188eu/os_dep/usb_intf.c:311 rtw_resume_process()
error: double unlock 'mutex:&pwrpriv->mutex_lock'
Fixes: eaf47b713b60 ("staging: rtl8188eu: fix missing unlock on error in rtw_resume_process()")
Reported-By: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Wei Yongjun <weiyj.lk@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[bwh: Backported to 3.16:
- Adjust context
- Unlock pwrctrl_priv::lock]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
| -rw-r--r-- | drivers/staging/rtl8188eu/os_dep/usb_intf.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/staging/rtl8188eu/os_dep/usb_intf.c b/drivers/staging/rtl8188eu/os_dep/usb_intf.c index 36899dd15188..d9552ba2c15d 100644 --- a/drivers/staging/rtl8188eu/os_dep/usb_intf.c +++ b/drivers/staging/rtl8188eu/os_dep/usb_intf.c @@ -494,8 +494,10 @@ int rtw_resume_process(struct adapter *padapter) pwrpriv->bkeepfwalive = false; DBG_88E("bkeepfwalive(%x)\n", pwrpriv->bkeepfwalive); - if (pm_netdev_open(pnetdev, true) != 0) + if (pm_netdev_open(pnetdev, true) != 0) { + _exit_pwrlock(&pwrpriv->lock); goto exit; + } netif_device_attach(pnetdev); netif_carrier_on(pnetdev); @@ -511,10 +513,8 @@ int rtw_resume_process(struct adapter *padapter) ret = 0; exit: - if (pwrpriv) { + if (pwrpriv) pwrpriv->bInSuspend = false; - _exit_pwrlock(&pwrpriv->lock); - } DBG_88E("<=== %s return %d.............. in %dms\n", __func__, ret, rtw_get_passing_time_ms(start_time)); |
