Commit 28baf48e authored by Yihang Li's avatar Yihang Li Committed by chenyi
Browse files

scsi: hisi_sas: Modify the deadline for ata_wait_after_reset()

driver inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I96KNQ


CVE: NA

----------------------------------------------------------------------

We found that the second parameter of function ata_wait_after_reset() is
incorrectly used. We call smp_ata_check_ready_type() to poll the device
type until the 30s timeout, so the correct deadline should be (jiffies +
30000).

Fixes: 3c2673a0 ("scsi: hisi_sas: Fix SATA devices missing issue during I_T nexus reset")
Signed-off-by: default avatarxiabing <xiabing12@h-partners.com>
Signed-off-by: default avatarYihang Li <liyihang9@huawei.com>
Reviewed-by: default avatarXiang Chen <chenxiang66@hisilicon.com>
Signed-off-by: default avatarBing Xia <xiabing12@h-partners.com>
Signed-off-by: default avatarchenyi <chenyi211@huawei.com>
parent 21044dd7
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -1921,8 +1921,10 @@ static int hisi_sas_debug_I_T_nexus_reset(struct domain_device *device)

	if (dev_is_sata(device)) {
		struct ata_link *link = &device->sata_dev.ap->link;
		unsigned long deadline = ata_deadline(jiffies,
				HISI_SAS_WAIT_PHYUP_TIMEOUT / HZ * 1000);

		rc = ata_wait_after_reset(link, HISI_SAS_WAIT_PHYUP_TIMEOUT,
		rc = ata_wait_after_reset(link, deadline,
					  smp_ata_check_ready_type);
	} else {
		msleep(2000);