On Thu, Oct 31, 2019 at 6:12 AM Deepak Ukey <deepak.ukey@xxxxxxxxxxxxx> wrote: > > From: Vikram Auradkar <auradkar@xxxxxxxxxx> > > For delays longer than 20ms [um]delay isn't recommended. > pm80xx_chip_soft_rst starts off with a 500ms delay before it even > gets around to checking for the results of the reset. As long as > it's at least 500ms it doesn't matter what the scheduler is doing. > The delay in the pm8001_exec_internal_task_abort does nothing, and > theory is this is a delay to avoid a double-free. > > Signed-off-by: Vikram Auradkar <auradkar@xxxxxxxxxx> > Signed-off-by: Deepak Ukey <deepak.ukey@xxxxxxxxxxxxx> > Signed-off-by: Viswas G <Viswas.G@xxxxxxxxxxxxx> looks good, thanks Acked-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxx> > --- > drivers/scsi/pm8001/pm80xx_hwi.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/scsi/pm8001/pm80xx_hwi.c b/drivers/scsi/pm8001/pm80xx_hwi.c > index ee9c187d8caa..1a1adda15db8 100644 > --- a/drivers/scsi/pm8001/pm80xx_hwi.c > +++ b/drivers/scsi/pm8001/pm80xx_hwi.c > @@ -1241,7 +1241,7 @@ pm80xx_chip_soft_rst(struct pm8001_hba_info *pm8001_ha) > pm8001_printk("reset register before write : 0x%x\n", regval)); > > pm8001_cw32(pm8001_ha, 0, SPC_REG_SOFT_RESET, SPCv_NORMAL_RESET_VALUE); > - mdelay(500); > + msleep(500); > > regval = pm8001_cr32(pm8001_ha, 0, SPC_REG_SOFT_RESET); > PM8001_INIT_DBG(pm8001_ha, > @@ -2986,7 +2986,7 @@ hw_event_sas_phy_up(struct pm8001_hba_info *pm8001_ha, void *piomb) > pm8001_get_attached_sas_addr(phy, phy->sas_phy.attached_sas_addr); > spin_unlock_irqrestore(&phy->sas_phy.frame_rcvd_lock, flags); > if (pm8001_ha->flags == PM8001F_RUN_TIME) > - mdelay(200);/*delay a moment to wait disk to spinup*/ > + msleep(200);/*delay a moment to wait disk to spinup*/ > pm8001_bytes_dmaed(pm8001_ha, phy_id); > } > > -- > 2.16.3 >