]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
USB: uas: fix locking
authorGerd Hoffmann <kraxel@redhat.com>
Wed, 26 Sep 2012 08:28:58 +0000 (10:28 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Sep 2012 21:13:19 +0000 (14:13 -0700)
Forgot to unlock in the uas_eh_task_mgmt error paths.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/storage/uas.c

index 15789097edd6fcdaa1a64609aa11c3d34b9faf5d..4218701bb45e913fe71219cd54ae1e21af3c712f 100644 (file)
@@ -649,12 +649,14 @@ static int uas_eh_task_mgmt(struct scsi_cmnd *cmnd,
                shost_printk(KERN_INFO, shost,
                             "%s: %s: submit sense urb failed\n",
                             __func__, fname);
+               spin_unlock_irqrestore(&devinfo->lock, flags);
                return FAILED;
        }
        if (uas_submit_task_urb(cmnd, GFP_ATOMIC, function, tag)) {
                shost_printk(KERN_INFO, shost,
                             "%s: %s: submit task mgmt urb failed\n",
                             __func__, fname);
+               spin_unlock_irqrestore(&devinfo->lock, flags);
                return FAILED;
        }
        spin_unlock_irqrestore(&devinfo->lock, flags);