[PATCH v3] staging: ced401: fix double unlock bug

Daeseok Youn daeseok.youn at gmail.com
Tue Feb 25 01:13:49 UTC 2014


After spin_lock() is called, all of if-else conditions in this brace
should reach the end of else and spin_unlock() must be called.
So It doesn't need to call spin_unlock() without a return statement
for handling an error.

Also sparse says:
drivers/staging/ced1401/usb1401.c:1080:28: warning:
 context imbalance in 'Handle1401Esc' - unexpected unlock

Reviewed-by: Dan Carpenter <dan.carpenter at oracle.com>
Signed-off-by: Daeseok Youn <daeseok.youn at gmail.com>
---
 drivers/staging/ced1401/usb1401.c |    1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/staging/ced1401/usb1401.c b/drivers/staging/ced1401/usb1401.c
index f441e33..c281fda 100644
--- a/drivers/staging/ced1401/usb1401.c
+++ b/drivers/staging/ced1401/usb1401.c
@@ -1054,7 +1054,6 @@ static int Handle1401Esc(DEVICE_EXTENSION *pdx, char *pCh,
 				/*  This can never happen, really */
 				dev_err(&pdx->interface->dev,
 					"ERROR: DMA setup while transfer still waiting\n");
-				spin_unlock(&pdx->stagedLock);
 			} else {
 				if ((wTransType == TM_EXTTOHOST)
 				    || (wTransType == TM_EXTTO1401)) {
-- 
1.7.9.5

---


More information about the devel mailing list