diff mbox

[05/15] be2iscsi: Set mbox timeout to 30s

Message ID 1450194906-12925-6-git-send-email-jitendra.bhivare@avagotech.com (mailing list archive)
State Changes Requested, archived
Headers show

Commit Message

Jitendra Bhivare Dec. 15, 2015, 3:54 p.m. UTC
From: Jitendra <jitendra.bhivare@avagotech.com>

FW recommended timeout for all mbox command is 30s.
Use msleep instead mdelay to relinquish CPU when polling for
mbox completion.

Signed-off-by: Jitendra <jitendra.bhivare@avagotech.com>
---
 drivers/scsi/be2iscsi/be_cmds.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

Comments

Hannes Reinecke Dec. 18, 2015, 9 a.m. UTC | #1
On 12/15/2015 04:54 PM, Jitendra Bhivare wrote:
> From: Jitendra <jitendra.bhivare@avagotech.com>
>
> FW recommended timeout for all mbox command is 30s.
> Use msleep instead mdelay to relinquish CPU when polling for
> mbox completion.
>
> Signed-off-by: Jitendra <jitendra.bhivare@avagotech.com>
> ---
>   drivers/scsi/be2iscsi/be_cmds.c |    5 +++--
>   1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/scsi/be2iscsi/be_cmds.c b/drivers/scsi/be2iscsi/be_cmds.c
> index 6f58063..1e70053 100644
> --- a/drivers/scsi/be2iscsi/be_cmds.c
> +++ b/drivers/scsi/be2iscsi/be_cmds.c
> @@ -587,7 +587,8 @@ int be_mcc_notify_wait(struct beiscsi_hba *phba)
>    **/
>   static int be_mbox_db_ready_wait(struct be_ctrl_info *ctrl)
>   {
> -#define BEISCSI_MBX_RDY_BIT_TIMEOUT	12000	/* 12sec */
> +	/* wait 30s for generic non-flash MBOX operation */
> +#define BEISCSI_MBX_RDY_BIT_TIMEOUT	30000
>   	void __iomem *db = ctrl->db + MPU_MAILBOX_DB_OFFSET;
>   	struct beiscsi_hba *phba = pci_get_drvdata(ctrl->pdev);
>   	unsigned long timeout;
> @@ -612,7 +613,7 @@ static int be_mbox_db_ready_wait(struct be_ctrl_info *ctrl)
>
>   		if (time_after(jiffies, timeout))
>   			break;
> -		mdelay(1);
> +		msleep(20);
>   	} while (!ready);
>
>   	beiscsi_log(phba, KERN_ERR,
>
Reviewed-by: Hannes Reinecke <hare@suse.com>

Cheers,

Hannes
diff mbox

Patch

diff --git a/drivers/scsi/be2iscsi/be_cmds.c b/drivers/scsi/be2iscsi/be_cmds.c
index 6f58063..1e70053 100644
--- a/drivers/scsi/be2iscsi/be_cmds.c
+++ b/drivers/scsi/be2iscsi/be_cmds.c
@@ -587,7 +587,8 @@  int be_mcc_notify_wait(struct beiscsi_hba *phba)
  **/
 static int be_mbox_db_ready_wait(struct be_ctrl_info *ctrl)
 {
-#define BEISCSI_MBX_RDY_BIT_TIMEOUT	12000	/* 12sec */
+	/* wait 30s for generic non-flash MBOX operation */
+#define BEISCSI_MBX_RDY_BIT_TIMEOUT	30000
 	void __iomem *db = ctrl->db + MPU_MAILBOX_DB_OFFSET;
 	struct beiscsi_hba *phba = pci_get_drvdata(ctrl->pdev);
 	unsigned long timeout;
@@ -612,7 +613,7 @@  static int be_mbox_db_ready_wait(struct be_ctrl_info *ctrl)
 
 		if (time_after(jiffies, timeout))
 			break;
-		mdelay(1);
+		msleep(20);
 	} while (!ready);
 
 	beiscsi_log(phba, KERN_ERR,