There is some clean up necessary before returning. Smatch complains: drivers/scsi/mpi3mr/mpi3mr_fw.c:4786 mpi3mr_soft_reset_handler() warn: inconsistent returns '&mrioc->reset_mutex'. Locked on : 4730 Unlocked on: 4786 Fixes: fded192f1303 ("scsi: mpi3mr: Resource Based Metering") Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> --- drivers/scsi/mpi3mr/mpi3mr_fw.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/mpi3mr/mpi3mr_fw.c b/drivers/scsi/mpi3mr/mpi3mr_fw.c index 6e39f7969e63..0866dfd43318 100644 --- a/drivers/scsi/mpi3mr/mpi3mr_fw.c +++ b/drivers/scsi/mpi3mr/mpi3mr_fw.c @@ -4727,7 +4727,8 @@ int mpi3mr_soft_reset_handler(struct mpi3mr_ioc *mrioc, "max io throttle group doesn't match old(%d), new(%d)\n", mrioc->num_io_throttle_group, mrioc->facts.max_io_throttle_group); - return -EPERM; + retval = -EPERM; + goto out; } mpi3mr_flush_delayed_cmd_lists(mrioc); -- 2.35.1