diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2013-04-16 03:44:19 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2013-05-02 15:08:46 -0400 |
commit | c64e483ea0a1d7483a5c1ac42ccdf7788eb3ce90 (patch) | |
tree | acaff24170b70ae27f86d62926f73a3c3cc00224 | |
parent | 883467871c60125765e0674199ef34a9b8d203bd (diff) |
[SCSI] megaraid_sas: release lock on error path
We should unlock here before returning.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
-rw-r--r-- | drivers/scsi/megaraid/megaraid_sas_base.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c index 7c90d57b867e..3a9ddae86f1f 100644 --- a/drivers/scsi/megaraid/megaraid_sas_base.c +++ b/drivers/scsi/megaraid/megaraid_sas_base.c | |||
@@ -4931,11 +4931,12 @@ static int megasas_mgmt_ioctl_fw(struct file *file, unsigned long arg) | |||
4931 | printk(KERN_ERR "megaraid_sas: timed out while" | 4931 | printk(KERN_ERR "megaraid_sas: timed out while" |
4932 | "waiting for HBA to recover\n"); | 4932 | "waiting for HBA to recover\n"); |
4933 | error = -ENODEV; | 4933 | error = -ENODEV; |
4934 | goto out_kfree_ioc; | 4934 | goto out_up; |
4935 | } | 4935 | } |
4936 | spin_unlock_irqrestore(&instance->hba_lock, flags); | 4936 | spin_unlock_irqrestore(&instance->hba_lock, flags); |
4937 | 4937 | ||
4938 | error = megasas_mgmt_fw_ioctl(instance, user_ioc, ioc); | 4938 | error = megasas_mgmt_fw_ioctl(instance, user_ioc, ioc); |
4939 | out_up: | ||
4939 | up(&instance->ioctl_sem); | 4940 | up(&instance->ioctl_sem); |
4940 | 4941 | ||
4941 | out_kfree_ioc: | 4942 | out_kfree_ioc: |