From 23bf40424a0f641ca7ff4225add4aa592086bdd5 Mon Sep 17 00:00:00 2001 From: Wei Yongjun Date: Sat, 1 Oct 2016 00:38:08 +0800 Subject: [PATCH] staging: rtl8188eu: fix double unlock error in rtw_resume_process() 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 Signed-off-by: Wei Yongjun Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8188eu/os_dep/usb_intf.c | 8 ++++---- 1 file 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 b2bc09e0297c..68e1e6bbe87f 100644 --- a/drivers/staging/rtl8188eu/os_dep/usb_intf.c +++ b/drivers/staging/rtl8188eu/os_dep/usb_intf.c @@ -294,8 +294,10 @@ static int rtw_resume_process(struct adapter *padapter) pwrpriv->bkeepfwalive = false; pr_debug("bkeepfwalive(%x)\n", pwrpriv->bkeepfwalive); - if (pm_netdev_open(pnetdev, true) != 0) + if (pm_netdev_open(pnetdev, true) != 0) { + mutex_unlock(&pwrpriv->mutex_lock); goto exit; + } netif_device_attach(pnetdev); netif_carrier_on(pnetdev); @@ -306,10 +308,8 @@ static int rtw_resume_process(struct adapter *padapter) ret = 0; exit: - if (pwrpriv) { + if (pwrpriv) pwrpriv->bInSuspend = false; - mutex_unlock(&pwrpriv->mutex_lock); - } pr_debug("<=== %s return %d.............. in %dms\n", __func__, ret, jiffies_to_msecs(jiffies - start_time)); -- 2.30.2