]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
scsi: megaraid_sas: Increase timeout by 1 sec for non-RAID fastpath IOs
authorShivasharan S <shivasharan.srikanteshwara@broadcom.com>
Fri, 6 Apr 2018 09:02:11 +0000 (02:02 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 3 Aug 2018 05:48:01 +0000 (07:48 +0200)
[ Upstream commit 3239b8cd28fd849a2023483257d35d68c5876c74 ]

Hardware could time out Fastpath IOs one second earlier than the timeout
provided by the host.

For non-RAID devices, driver provides timeout value based on OS provided
timeout value. Under certain scenarios, if the OS provides a timeout
value of 1 second, due to above behavior hardware will timeout
immediately.

Increase timeout value for non-RAID fastpath IOs by 1 second.

Signed-off-by: Shivasharan S <shivasharan.srikanteshwara@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/scsi/megaraid/megaraid_sas_fusion.c

index f4d988dd1e9d1a8389f4486a9b08bdfe9eb31a84..35497abb0e81b1102f7ef2257c087473cde319ae 100644 (file)
@@ -2981,6 +2981,9 @@ megasas_build_syspd_fusion(struct megasas_instance *instance,
                pRAID_Context->timeout_value = cpu_to_le16(os_timeout_value);
                pRAID_Context->virtual_disk_tgt_id = cpu_to_le16(device_id);
        } else {
+               if (os_timeout_value)
+                       os_timeout_value++;
+
                /* system pd Fast Path */
                io_request->Function = MPI2_FUNCTION_SCSI_IO_REQUEST;
                timeout_limit = (scmd->device->type == TYPE_DISK) ?