• J
    ahci: prevent freezing port when EH is running · cb7fc545
    Jason Yan 提交于
    euler inclusion
    category: bugfix
    bugzilla: NA
    CVE: NA
    
    ---------------------------
    
    Trinity report a warning for this patch:
    WARNING: CPU: 1 PID: 118 at ../drivers/ata/libata-eh.c:4016
    ata_eh_finish+0x15a/0x170
    
    Fixing the race condition between EH and interrupt by making the EH
    thread re-enter again is a little overkill and IO will get through
    after the scsi_run_host_queues() and before SHOST_RECOVERY is set agian
    in scsi_restart_operations().
    
    If EH thread is already running, no need to freeze port and schedule
    EH again.
    
    Fixes: a7d2fef75b83 ("scsi: ata: Fix a race condition between scsi error handler and ahci interrupt")
    Signed-off-by: NJason Yan <yanaijie@huawei.com>
    Reviewed-by: Nzhengbin <zhengbin13@huawei.com>
    Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
    cb7fc545
sas_scsi_host.c 25.1 KB