Skip to content

Commit be946e3

Browse files
wenchao-haomartinkpetersen
authored andcommitted
scsi: libsas: Simplify sas_queue_reset() and remove unused code
sas_queue_reset() is always called with param "wait" set to 0, so remove it from this function's parameter list. Also remove unused function sas_wait_eh(). Signed-off-by: Wenchao Hao <haowenchao2@huawei.com> Link: https://lore.kernel.org/r/20230729102451.2452826-1-haowenchao2@huawei.com Reviewed-by: Jason Yan <yanaijie@huawei.com> Reviewed-by: Damien Le Moal <dlemoal@kernel.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
1 parent d0bac0e commit be946e3

File tree

1 file changed

+3
-38
lines changed

1 file changed

+3
-38
lines changed

drivers/scsi/libsas/sas_scsi_host.c

Lines changed: 3 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -386,46 +386,14 @@ struct sas_phy *sas_get_local_phy(struct domain_device *dev)
386386
}
387387
EXPORT_SYMBOL_GPL(sas_get_local_phy);
388388

389-
static void sas_wait_eh(struct domain_device *dev)
390-
{
391-
struct sas_ha_struct *ha = dev->port->ha;
392-
DEFINE_WAIT(wait);
393-
394-
if (dev_is_sata(dev)) {
395-
ata_port_wait_eh(dev->sata_dev.ap);
396-
return;
397-
}
398-
retry:
399-
spin_lock_irq(&ha->lock);
400-
401-
while (test_bit(SAS_DEV_EH_PENDING, &dev->state)) {
402-
prepare_to_wait(&ha->eh_wait_q, &wait, TASK_UNINTERRUPTIBLE);
403-
spin_unlock_irq(&ha->lock);
404-
schedule();
405-
spin_lock_irq(&ha->lock);
406-
}
407-
finish_wait(&ha->eh_wait_q, &wait);
408-
409-
spin_unlock_irq(&ha->lock);
410-
411-
/* make sure SCSI EH is complete */
412-
if (scsi_host_in_recovery(ha->shost)) {
413-
msleep(10);
414-
goto retry;
415-
}
416-
}
417-
418-
static int sas_queue_reset(struct domain_device *dev, int reset_type,
419-
u64 lun, int wait)
389+
static int sas_queue_reset(struct domain_device *dev, int reset_type, u64 lun)
420390
{
421391
struct sas_ha_struct *ha = dev->port->ha;
422392
int scheduled = 0, tries = 100;
423393

424394
/* ata: promote lun reset to bus reset */
425395
if (dev_is_sata(dev)) {
426396
sas_ata_schedule_reset(dev);
427-
if (wait)
428-
sas_ata_wait_eh(dev);
429397
return SUCCESS;
430398
}
431399

@@ -443,9 +411,6 @@ static int sas_queue_reset(struct domain_device *dev, int reset_type,
443411
}
444412
spin_unlock_irq(&ha->lock);
445413

446-
if (wait)
447-
sas_wait_eh(dev);
448-
449414
if (scheduled)
450415
return SUCCESS;
451416
}
@@ -498,7 +463,7 @@ int sas_eh_device_reset_handler(struct scsi_cmnd *cmd)
498463
struct sas_internal *i = to_sas_internal(host->transportt);
499464

500465
if (current != host->ehandler)
501-
return sas_queue_reset(dev, SAS_DEV_LU_RESET, cmd->device->lun, 0);
466+
return sas_queue_reset(dev, SAS_DEV_LU_RESET, cmd->device->lun);
502467

503468
int_to_scsilun(cmd->device->lun, &lun);
504469

@@ -521,7 +486,7 @@ int sas_eh_target_reset_handler(struct scsi_cmnd *cmd)
521486
struct sas_internal *i = to_sas_internal(host->transportt);
522487

523488
if (current != host->ehandler)
524-
return sas_queue_reset(dev, SAS_DEV_RESET, 0, 0);
489+
return sas_queue_reset(dev, SAS_DEV_RESET, 0);
525490

526491
if (!i->dft->lldd_I_T_nexus_reset)
527492
return FAILED;

0 commit comments

Comments
 (0)