Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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 <dan.carpenter@oracle.com>
Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Daeseok Youn and committed by
Greg Kroah-Hartman
223eaa37 ea6ff788

-1
-1
drivers/staging/ced1401/usb1401.c
··· 1054 1054 /* This can never happen, really */ 1055 1055 dev_err(&pdx->interface->dev, 1056 1056 "ERROR: DMA setup while transfer still waiting\n"); 1057 - spin_unlock(&pdx->stagedLock); 1058 1057 } else { 1059 1058 if ((wTransType == TM_EXTTOHOST) 1060 1059 || (wTransType == TM_EXTTO1401)) {