Message ID | 20191031051241.6762-4-deepak.ukey@microchip.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | pm80xx : Updates for the driver version 0.1.39. | expand |
On Thu, Oct 31, 2019 at 6:12 AM Deepak Ukey <deepak.ukey@microchip.com> wrote: > > From: Vikram Auradkar <auradkar@google.com> > > 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@google.com> > Signed-off-by: Deepak Ukey <deepak.ukey@microchip.com> > Signed-off-by: Viswas G <Viswas.G@microchip.com> looks good, thanks Acked-by: Jack Wang <jinpu.wang@cloud.ionos.com> > --- > 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 >
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); }