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: Drain bcast events in hisi_sas_rescan_topology()"

This reverts commit 11ff0c98fca35df16c84d4eee52008faecaf10a6.

Draining or flushing events in hisi_sas_rescan_topology() can hang the
driver, typically with phy up or phy down events being processed,
i.e. sas_porte_bytes_dmaed() or sas_phye_loss_of_signal().

Signed-off-by: Jie Zhan <zhanjie9@hisilicon.com>
Link: https://lore.kernel.org/r/20221118083714.4034612-2-zhanjie9@hisilicon.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

authored by

Jie Zhan and committed by
Martin K. Petersen
7e613be7 96a2dfa1

-7
-7
drivers/scsi/hisi_sas/hisi_sas_main.c
··· 1323 1323 1324 1324 static void hisi_sas_rescan_topology(struct hisi_hba *hisi_hba, u32 state) 1325 1325 { 1326 - struct sas_ha_struct *sas_ha = &hisi_hba->sha; 1327 1326 struct asd_sas_port *_sas_port = NULL; 1328 1327 int phy_no; 1329 1328 ··· 1351 1352 hisi_sas_phy_down(hisi_hba, phy_no, 0, GFP_KERNEL); 1352 1353 } 1353 1354 } 1354 - /* 1355 - * Ensure any bcast events are processed prior to calling async nexus 1356 - * reset calls from hisi_sas_clear_nexus_ha() -> 1357 - * hisi_sas_async_I_T_nexus_reset() 1358 - */ 1359 - sas_drain_work(sas_ha); 1360 1355 } 1361 1356 1362 1357 static void hisi_sas_reset_init_all_devices(struct hisi_hba *hisi_hba)