Messages in this thread | | | Date | Wed, 30 Aug 2023 20:52:36 +0800 | Subject | Re: [PATCH] scsi:libsas: Simplify sas_queue_reset and remove unused code | From | "haowenchao (C)" <> |
| |
On 2023/7/29 18:24, Wenchao Hao wrote: > sas_queue_reset is always called with param "wait" set to 0, so > remove it from this function's param list. And remove unused > function sas_wait_eh. >
Ping...
> Signed-off-by: Wenchao Hao <haowenchao2@huawei.com> > --- > drivers/scsi/libsas/sas_scsi_host.c | 41 +++-------------------------- > 1 file changed, 3 insertions(+), 38 deletions(-) > > diff --git a/drivers/scsi/libsas/sas_scsi_host.c b/drivers/scsi/libsas/sas_scsi_host.c > index 94c5f14f3c16..3f01e77eaee3 100644 > --- a/drivers/scsi/libsas/sas_scsi_host.c > +++ b/drivers/scsi/libsas/sas_scsi_host.c > @@ -387,37 +387,7 @@ struct sas_phy *sas_get_local_phy(struct domain_device *dev) > } > EXPORT_SYMBOL_GPL(sas_get_local_phy); > > -static void sas_wait_eh(struct domain_device *dev) > -{ > - struct sas_ha_struct *ha = dev->port->ha; > - DEFINE_WAIT(wait); > - > - if (dev_is_sata(dev)) { > - ata_port_wait_eh(dev->sata_dev.ap); > - return; > - } > - retry: > - spin_lock_irq(&ha->lock); > - > - while (test_bit(SAS_DEV_EH_PENDING, &dev->state)) { > - prepare_to_wait(&ha->eh_wait_q, &wait, TASK_UNINTERRUPTIBLE); > - spin_unlock_irq(&ha->lock); > - schedule(); > - spin_lock_irq(&ha->lock); > - } > - finish_wait(&ha->eh_wait_q, &wait); > - > - spin_unlock_irq(&ha->lock); > - > - /* make sure SCSI EH is complete */ > - if (scsi_host_in_recovery(ha->core.shost)) { > - msleep(10); > - goto retry; > - } > -} > - > -static int sas_queue_reset(struct domain_device *dev, int reset_type, > - u64 lun, int wait) > +static int sas_queue_reset(struct domain_device *dev, int reset_type, u64 lun) > { > struct sas_ha_struct *ha = dev->port->ha; > int scheduled = 0, tries = 100; > @@ -425,8 +395,6 @@ static int sas_queue_reset(struct domain_device *dev, int reset_type, > /* ata: promote lun reset to bus reset */ > if (dev_is_sata(dev)) { > sas_ata_schedule_reset(dev); > - if (wait) > - sas_ata_wait_eh(dev); > return SUCCESS; > } > > @@ -444,9 +412,6 @@ static int sas_queue_reset(struct domain_device *dev, int reset_type, > } > spin_unlock_irq(&ha->lock); > > - if (wait) > - sas_wait_eh(dev); > - > if (scheduled) > return SUCCESS; > } > @@ -499,7 +464,7 @@ int sas_eh_device_reset_handler(struct scsi_cmnd *cmd) > struct sas_internal *i = to_sas_internal(host->transportt); > > if (current != host->ehandler) > - return sas_queue_reset(dev, SAS_DEV_LU_RESET, cmd->device->lun, 0); > + return sas_queue_reset(dev, SAS_DEV_LU_RESET, cmd->device->lun); > > int_to_scsilun(cmd->device->lun, &lun); > > @@ -522,7 +487,7 @@ int sas_eh_target_reset_handler(struct scsi_cmnd *cmd) > struct sas_internal *i = to_sas_internal(host->transportt); > > if (current != host->ehandler) > - return sas_queue_reset(dev, SAS_DEV_RESET, 0, 0); > + return sas_queue_reset(dev, SAS_DEV_RESET, 0); > > if (!i->dft->lldd_I_T_nexus_reset) > return FAILED;
| |