scsi: mpt3sas: Fix ioctl timeout
authorSuganath Prabu S <suganath-prabu.subramani@broadcom.com>
Wed, 25 Nov 2020 09:48:38 +0000 (15:18 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 11 Dec 2020 12:23:29 +0000 (13:23 +0100)
commit 42f687038bcc34aa919e0e4c29b04e4cda3f6a79 upstream.

Commit c1a6c5ac4278 ("scsi: mpt3sas: For NVME device, issue a protocol
level reset") modified the ioctl path 'timeout' variable type to u8 from
unsigned long, limiting the maximum timeout value that the driver can
support to 255 seconds.

If the management application is requesting a higher value the resulting
timeout will be zero. The operation times out immediately and the ioctl
request fails.

Change datatype back to unsigned long.

Link: https://lore.kernel.org/r/20201125094838.4340-1-suganath-prabu.subramani@broadcom.com
Fixes: c1a6c5ac4278 ("scsi: mpt3sas: For NVME device, issue a protocol level reset")
Cc: <stable@vger.kernel.org> #v4.18+
Signed-off-by: Suganath Prabu S <suganath-prabu.subramani@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/scsi/mpt3sas/mpt3sas_ctl.c

index bae7cf70ee1774ff6fae49a5a6c1b2a038fea6a9..1c5c172315de4d9284c8174af6953d4341835c68 100644 (file)
@@ -650,7 +650,7 @@ _ctl_do_mpt_command(struct MPT3SAS_ADAPTER *ioc, struct mpt3_ioctl_command karg,
        Mpi26NVMeEncapsulatedRequest_t *nvme_encap_request = NULL;
        struct _pcie_device *pcie_device = NULL;
        u16 smid;
-       u8 timeout;
+       unsigned long timeout;
        u8 issue_reset;
        u32 sz, sz_arg;
        void *psge;