diff options
author | Sudeep Holla <sudeep.holla@arm.com> | 2015-03-20 11:42:17 +0000 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2015-03-24 11:38:58 -0500 |
commit | 65582a7f4ce5bd7a1fb61516d9c2476f4f166f4e (patch) | |
tree | bf012c910c79c488b31dd66cb9aef4db76498bf3 /drivers/usb/isp1760 | |
parent | bc465aa9d045feb0e13b4a8f32cc33c1943f62d6 (diff) | |
download | linux-stable-65582a7f4ce5bd7a1fb61516d9c2476f4f166f4e.tar.gz linux-stable-65582a7f4ce5bd7a1fb61516d9c2476f4f166f4e.tar.bz2 linux-stable-65582a7f4ce5bd7a1fb61516d9c2476f4f166f4e.zip |
usb: isp1760: fix spin unlock in the error path of isp1760_udc_start
Commit a124820de5fd ("usb: isp1760: fix possible deadlock in
isp1760_udc_irq") replaced spin_{un,}lock with spin_{un,}lock_irq{save,restore}.
However it missed an error path resulting in the smatch warning as below:
drivers/usb/isp1760/isp1760-udc.c:1230 isp1760_udc_start() warn: inconsistent returns 'irqsave:flags'.
Locked on: line 1207
Unlocked on: line 1199
This patch fixes the spin unlock in the error path in isp1760_udc_start
thereby removing the smatch warning mentioned above.
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Felipe Balbi <balbi@ti.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/isp1760')
-rw-r--r-- | drivers/usb/isp1760/isp1760-udc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/isp1760/isp1760-udc.c b/drivers/usb/isp1760/isp1760-udc.c index f32c292cc868..3fc4fe770253 100644 --- a/drivers/usb/isp1760/isp1760-udc.c +++ b/drivers/usb/isp1760/isp1760-udc.c @@ -1203,7 +1203,7 @@ static int isp1760_udc_start(struct usb_gadget *gadget, if (udc->driver) { dev_err(udc->isp->dev, "UDC already has a gadget driver\n"); - spin_unlock(&udc->lock); + spin_unlock_irqrestore(&udc->lock, flags); return -EBUSY; } |