Commit 81b6c78b authored by Shivasharan S's avatar Shivasharan S Committed by Kleber Sacilotto de Souza

scsi: megaraid_sas: Increase timeout by 1 sec for non-RAID fastpath IOs

BugLink: https://bugs.launchpad.net/bugs/1791953

[ Upstream commit 3239b8cd ]

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: default avatarShivasharan S <shivasharan.srikanteshwara@broadcom.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: default avatarSasha Levin <alexander.levin@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarStefan Bader <stefan.bader@canonical.com>
Signed-off-by: default avatarKleber Sacilotto de Souza <kleber.souza@canonical.com>
parent 006b3ee9
...@@ -2027,6 +2027,9 @@ megasas_build_syspd_fusion(struct megasas_instance *instance, ...@@ -2027,6 +2027,9 @@ megasas_build_syspd_fusion(struct megasas_instance *instance,
pRAID_Context->timeoutValue = cpu_to_le16(os_timeout_value); pRAID_Context->timeoutValue = cpu_to_le16(os_timeout_value);
pRAID_Context->VirtualDiskTgtId = cpu_to_le16(device_id); pRAID_Context->VirtualDiskTgtId = cpu_to_le16(device_id);
} else { } else {
if (os_timeout_value)
os_timeout_value++;
/* system pd Fast Path */ /* system pd Fast Path */
io_request->Function = MPI2_FUNCTION_SCSI_IO_REQUEST; io_request->Function = MPI2_FUNCTION_SCSI_IO_REQUEST;
timeout_limit = (scmd->device->type == TYPE_DISK) ? timeout_limit = (scmd->device->type == TYPE_DISK) ?
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment