Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

scsi: Revert "scsi: hisi_sas: Don't send bcast events from HW during nexus HA reset"

This reverts commit f5f2a2716055ad8c0c4ff83e51d667646c6c5d8a.

This is now unnecessary to solve the SATA devices missing issue in
hisi_sas_clear_nexus_ha(). Hence, we should not ignore bcast events during
sas_eh_handle_sas_errors() in case of missing bcast events, unless a
justified need is found and a mechanism to defer (but not ignore) bcast
events in sas_eh_handle_sas_errors() is provided.

Also, in hisi_sas_clear_nexus_ha(), there is nothing further to handle in
"out: " other than return, so that part can be reverted.

Signed-off-by: Jie Zhan <zhanjie9@hisilicon.com>
Link: https://lore.kernel.org/r/20221118083714.4034612-3-zhanjie9@hisilicon.com
Reviewed-by: John Garry <john.garry@huawei.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

authored by

Jie Zhan and committed by
Martin K. Petersen
94a3555d 7e613be7

+4 -12
+4 -12
drivers/scsi/hisi_sas/hisi_sas_main.c
··· 1812 1812 struct hisi_hba *hisi_hba = sas_ha->lldd_ha; 1813 1813 HISI_SAS_DECLARE_RST_WORK_ON_STACK(r); 1814 1814 ASYNC_DOMAIN_EXCLUSIVE(async); 1815 - int i, ret; 1815 + int i; 1816 1816 1817 1817 queue_work(hisi_hba->wq, &r.work); 1818 1818 wait_for_completion(r.completion); 1819 - if (!r.done) { 1820 - ret = TMF_RESP_FUNC_FAILED; 1821 - goto out; 1822 - } 1819 + if (!r.done) 1820 + return TMF_RESP_FUNC_FAILED; 1823 1821 1824 1822 for (i = 0; i < HISI_SAS_MAX_DEVICES; i++) { 1825 1823 struct hisi_sas_device *sas_dev = &hisi_hba->devices[i]; ··· 1834 1836 async_synchronize_full_domain(&async); 1835 1837 hisi_sas_release_tasks(hisi_hba); 1836 1838 1837 - ret = TMF_RESP_FUNC_COMPLETE; 1838 - out: 1839 - return ret; 1839 + return TMF_RESP_FUNC_COMPLETE; 1840 1840 } 1841 1841 1842 1842 static int hisi_sas_query_task(struct sas_task *task) ··· 1982 1986 { 1983 1987 struct asd_sas_phy *sas_phy = &phy->sas_phy; 1984 1988 struct hisi_hba *hisi_hba = phy->hisi_hba; 1985 - struct sas_ha_struct *sha = &hisi_hba->sha; 1986 1989 1987 1990 if (test_bit(HISI_SAS_RESETTING_BIT, &hisi_hba->flags)) 1988 - return; 1989 - 1990 - if (test_bit(SAS_HA_FROZEN, &sha->state)) 1991 1991 return; 1992 1992 1993 1993 sas_notify_port_event(sas_phy, PORTE_BROADCAST_RCVD, GFP_ATOMIC);