scsi: mpt3sas: Fix ioctl timeout
authorSuganath Prabu S <suganath-prabu.subramani@broadcom.com>
Wed, 25 Nov 2020 09:48:38 +0000 (15:18 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 1 Dec 2020 05:28:41 +0000 (00:28 -0500)
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>
drivers/scsi/mpt3sas/mpt3sas_ctl.c

index 0f2b681449e64ab2bd5a8c8a4b7f35012458ba77..edd26a2570fa8a6dd19ea4e69afaa819c5d45a18 100644 (file)
@@ -664,7 +664,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;