diff mbox series

scsi: mpi3mr: unlock on error path

Message ID YtVCEsxMU8buuMjP@kili (mailing list archive)
State Accepted
Headers show
Series scsi: mpi3mr: unlock on error path | expand

Commit Message

Dan Carpenter July 18, 2022, 11:20 a.m. UTC
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@oracle.com>
---
 drivers/scsi/mpi3mr/mpi3mr_fw.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Martin K. Petersen July 19, 2022, 2:39 a.m. UTC | #1
Dan,

> 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

Applied to 5.20/scsi-staging, thanks!
Martin K. Petersen July 27, 2022, 3:15 a.m. UTC | #2
On Mon, 18 Jul 2022 14:20:50 +0300, Dan Carpenter wrote:

> 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
> 
> [...]

Applied to 5.20/scsi-queue, thanks!

[1/1] scsi: mpi3mr: unlock on error path
      https://git.kernel.org/mkp/scsi/c/2a8a0147cb52
diff mbox series

Patch

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);