From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934187AbcI3Qi4 (ORCPT ); Fri, 30 Sep 2016 12:38:56 -0400 Received: from mail-pf0-f193.google.com ([209.85.192.193]:35967 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934105AbcI3Qil (ORCPT ); Fri, 30 Sep 2016 12:38:41 -0400 From: Wei Yongjun To: Greg Kroah-Hartman , Ivan Safonov , Bhaktipriya Shridhar , Luca Ceresoli , =?UTF-8?q?R=C3=A9my=20Oudompheng?= , Kyle Kuffermann , Bhumika Goyal , Binoy Jayan , Dan Carpenter Cc: Wei Yongjun , devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org Subject: [PATCH] staging: rtl8188eu: fix double unlock error in rtw_resume_process() Date: Sat, 1 Oct 2016 00:38:08 +0800 Message-Id: <1475253488-16674-1-git-send-email-weiyj.lk@gmail.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 diff --git a/drivers/staging/rtl8188eu/os_dep/usb_intf.c b/drivers/staging/rtl8188eu/os_dep/usb_intf.c index b2bc09e..68e1e6b 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.7.4