From: Daeseok Youn Date: Tue, 25 Feb 2014 01:13:49 +0000 (+0900) Subject: staging: ced401: fix double unlock bug X-Git-Tag: firefly_0821_release~176^2~4193^2~868 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=223eaa377d42481c209df2d425032417b1762811;p=firefly-linux-kernel-4.4.55.git staging: ced401: fix double unlock bug 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 Signed-off-by: Daeseok Youn Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/ced1401/usb1401.c b/drivers/staging/ced1401/usb1401.c index f441e33660fe..c281fdabb4ed 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)) {