• Xiang Chen's avatar
    scsi: hisi_sas: remove the check of sas_dev status in hisi_sas_I_T_nexus_reset() · ffb1c820
    Xiang Chen authored
    When issing a hardreset to a SATA device when running IO, it is possible
    that abnormal CQs of the device are returned. Then enter error handler, it
    doesn't enter function hisi_sas_abort_task() as there is no timeout IO, and
    it doesn't set device as HISI_SAS_DEV_EH. So when hardreset by libata
    later, it actually doesn't issue hardreset as there is a check to judge
    whether device is in error.
    
    For this situation, actually need to hardreset the device to recover.
    So remove the check of sas_dev status in hisi_sas_I_T_nexus_reset().
    
    Before we add the check to avoid the endless loop of reset for
    directly-attached SATA device at probe time, actually we flutter it for
    it, so it is not necessary to add the check now.
    Signed-off-by: default avatarXiang Chen <chenxiang66@hisilicon.com>
    Signed-off-by: default avatarJohn Garry <john.garry@huawei.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    ffb1c820
hisi_sas_v2_hw.c 107 KB