mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-20 09:46:11 +07:00
scsi: mpt3sas: Fix _transport_smp_handler() error path
This patch avoids that smatch complains about a double unlock on
ioc->transport_cmds.mutex.
Fixes: 651a013649
("scsi: scsi_transport_sas: switch to bsg-lib for SMP passthrough")
Signed-off-by: Bart Van Assche <bart.vanassche@wdc.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Sathya Prakash <sathya.prakash@broadcom.com>
Cc: Chaitra P B <chaitra.basappa@broadcom.com>
Cc: Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>
Cc: stable@vger.kernel.org
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
84203b3561
commit
91b7bdb2c0
@ -1936,12 +1936,12 @@ _transport_smp_handler(struct bsg_job *job, struct Scsi_Host *shost,
|
||||
pr_info(MPT3SAS_FMT "%s: host reset in progress!\n",
|
||||
__func__, ioc->name);
|
||||
rc = -EFAULT;
|
||||
goto out;
|
||||
goto job_done;
|
||||
}
|
||||
|
||||
rc = mutex_lock_interruptible(&ioc->transport_cmds.mutex);
|
||||
if (rc)
|
||||
goto out;
|
||||
goto job_done;
|
||||
|
||||
if (ioc->transport_cmds.status != MPT3_CMD_NOT_USED) {
|
||||
pr_err(MPT3SAS_FMT "%s: transport_cmds in use\n", ioc->name,
|
||||
@ -2066,6 +2066,7 @@ _transport_smp_handler(struct bsg_job *job, struct Scsi_Host *shost,
|
||||
out:
|
||||
ioc->transport_cmds.status = MPT3_CMD_NOT_USED;
|
||||
mutex_unlock(&ioc->transport_cmds.mutex);
|
||||
job_done:
|
||||
bsg_job_done(job, rc, reslen);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user