2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-22 04:24:02 +08:00
linux-next/drivers/scsi/hisi_sas
John Garry 64d6318732 scsi: hisi_sas: lock sensitive regions when servicing CQ interrupt
There is a bug in the current driver in that certain hisi_hba and port
structure elements which we access when servicing the CQ interrupt do
not use thread-safe accesses; these include hisi_sas_port linked-list of
active slots (hisi_sas_port.entry), bitmap of currently allocated IPTT
(in hisi_hba.slot_index_tags), and completion queue read pointer.

As a solution, lock these elements with the hisi_hba.lock.

Signed-off-by: John Garry <john.garry@huawei.com>
Reviewed-by: Xiang Chen <chenxiang66@hisilicon.com>
Reviewed-by: Zhangfei Gao <zhangfei.gao@linaro.org>
Tested-by: Hanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2017-01-05 18:24:11 -05:00
..
hisi_sas_main.c scsi: hisi_sas: fix free'ing in probe and remove 2016-12-05 16:54:12 -05:00
hisi_sas_v1_hw.c scsi: hisi_sas: lock sensitive regions when servicing CQ interrupt 2017-01-05 18:24:11 -05:00
hisi_sas_v2_hw.c scsi: hisi_sas: lock sensitive regions when servicing CQ interrupt 2017-01-05 18:24:11 -05:00
hisi_sas.h scsi: hisi_sas: service v2 hw CQ ISR with tasklet 2017-01-05 18:24:11 -05:00
Kconfig hisi_sas: add dependency for HAS_IOMEM 2016-01-26 21:17:59 -05:00
Makefile hisi_sas: add bare v2 hw driver 2016-02-23 21:27:02 -05:00