Message ID | 1450194906-12925-6-git-send-email-jitendra.bhivare@avagotech.com (mailing list archive) |
---|---|
State | Changes Requested, archived |
Headers | show |
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 --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,