Patch "scsi: mpt3sas: Fix clear pending bit in ioctl status" has been added to the 4.14-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    scsi: mpt3sas: Fix clear pending bit in ioctl status

to the 4.14-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     scsi-mpt3sas-fix-clear-pending-bit-in-ioctl-status.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 8d67b147f0a0bbbe8ecf0b633ed8fbe3aafc1542
Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxx>
Date:   Fri Sep 13 09:04:40 2019 -0400

    scsi: mpt3sas: Fix clear pending bit in ioctl status
    
    [ Upstream commit 782b281883caf70289ba6a186af29441a117d23e ]
    
    When user issues diag register command from application with required size,
    and if driver unable to allocate the memory, then it will fail the register
    command. While failing the register command, driver is not currently
    clearing MPT3_CMD_PENDING bit in ctl_cmds.status variable which was set
    before trying to allocate the memory. As this bit is set, subsequent
    register command will be failed with BUSY status even when user wants to
    register the trace buffer will less memory.
    
    Clear MPT3_CMD_PENDING bit in ctl_cmds.status before returning the diag
    register command with no memory status.
    
    Link: https://lore.kernel.org/r/1568379890-18347-4-git-send-email-sreekanth.reddy@xxxxxxxxxxxx
    Signed-off-by: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxx>
    Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/scsi/mpt3sas/mpt3sas_ctl.c b/drivers/scsi/mpt3sas/mpt3sas_ctl.c
index bdffb692bded..622dcf2984a9 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_ctl.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_ctl.c
@@ -1502,7 +1502,8 @@ _ctl_diag_register_2(struct MPT3SAS_ADAPTER *ioc,
 			    " for diag buffers, requested size(%d)\n",
 			    ioc->name, __func__, request_data_sz);
 			mpt3sas_base_free_smid(ioc, smid);
-			return -ENOMEM;
+			rc = -ENOMEM;
+			goto out;
 		}
 		ioc->diag_buffer[buffer_type] = request_data;
 		ioc->diag_buffer_sz[buffer_type] = request_data_sz;



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux