diff mbox

[1/7] megaraid_sas: For SRIOV enabled firmware, ensure VF driver waits for 30secs before reset

Message ID 1476699850-25083-2-git-send-email-sumit.saxena@broadcom.com (mailing list archive)
State Changes Requested, archived
Headers show

Commit Message

Sumit Saxena Oct. 17, 2016, 10:24 a.m. UTC
For SRIOV enabled firmware, if there is a OCR(online controller reset)
possibility driver set the convert flag to 1, which is not happening if
there are outstanding commands even after 180 seconds.
As driver does not set convert flag to 1 and still making the OCR to run,
VF(Virtual function) driver is directly writing on to the register
instead of waiting for 30 seconds. Setting convert flag to 1 will cause
VF driver will wait for 30 secs before going for reset.

CC: stable@vger.kernel.org
Signed-off-by: Kiran Kumar Kasturi <kiran-kumar.kasturi@broadcom.com>
Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com>
---
 drivers/scsi/megaraid/megaraid_sas_fusion.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Hannes Reinecke Oct. 17, 2016, 11:29 a.m. UTC | #1
On 10/17/2016 12:24 PM, Sumit Saxena wrote:
> For SRIOV enabled firmware, if there is a OCR(online controller reset)
> possibility driver set the convert flag to 1, which is not happening if
> there are outstanding commands even after 180 seconds.
> As driver does not set convert flag to 1 and still making the OCR to run,
> VF(Virtual function) driver is directly writing on to the register
> instead of waiting for 30 seconds. Setting convert flag to 1 will cause
> VF driver will wait for 30 secs before going for reset.
> 
> CC: stable@vger.kernel.org
> Signed-off-by: Kiran Kumar Kasturi <kiran-kumar.kasturi@broadcom.com>
> Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com>
> ---
>  drivers/scsi/megaraid/megaraid_sas_fusion.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.c b/drivers/scsi/megaraid/megaraid_sas_fusion.c
> index 52d8bbf..61be7ed 100644
> --- a/drivers/scsi/megaraid/megaraid_sas_fusion.c
> +++ b/drivers/scsi/megaraid/megaraid_sas_fusion.c
> @@ -2823,6 +2823,7 @@ int megasas_wait_for_outstanding_fusion(struct megasas_instance *instance,
>  		dev_err(&instance->pdev->dev, "pending commands remain after waiting, "
>  		       "will reset adapter scsi%d.\n",
>  		       instance->host->host_no);
> +		*convert = 1;
>  		retval = 1;
>  	}
>  out:
> 
Reviewed-by: Hannes Reinecke <hare@suse.com>

Cheers,

Hannes
Tomas Henzl Oct. 17, 2016, 12:43 p.m. UTC | #2
On 17.10.2016 12:24, Sumit Saxena wrote:
> For SRIOV enabled firmware, if there is a OCR(online controller reset)
> possibility driver set the convert flag to 1, which is not happening if
> there are outstanding commands even after 180 seconds.
> As driver does not set convert flag to 1 and still making the OCR to run,
> VF(Virtual function) driver is directly writing on to the register
> instead of waiting for 30 seconds. Setting convert flag to 1 will cause
> VF driver will wait for 30 secs before going for reset.
>
> CC: stable@vger.kernel.org
> Signed-off-by: Kiran Kumar Kasturi <kiran-kumar.kasturi@broadcom.com>
> Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com>

Reviewed-by: Tomas Henzl <thenzl@redhat.com>

Tomas

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.c b/drivers/scsi/megaraid/megaraid_sas_fusion.c
index 52d8bbf..61be7ed 100644
--- a/drivers/scsi/megaraid/megaraid_sas_fusion.c
+++ b/drivers/scsi/megaraid/megaraid_sas_fusion.c
@@ -2823,6 +2823,7 @@  int megasas_wait_for_outstanding_fusion(struct megasas_instance *instance,
 		dev_err(&instance->pdev->dev, "pending commands remain after waiting, "
 		       "will reset adapter scsi%d.\n",
 		       instance->host->host_no);
+		*convert = 1;
 		retval = 1;
 	}
 out: