diff options
author | 2017-01-03 20:24:49 +0800 | |
---|---|---|
committer | 2017-01-05 18:24:11 -0500 | |
commit | 64d63187325884b96f684f1d839ec5d5ce231b92 (patch) | |
tree | cb391c6ce6582bf4d8e7d45f0c00e4c0767b7209 /drivers/scsi/pmcraid.c | |
parent | scsi: hisi_sas: service v2 hw CQ ISR with tasklet (diff) | |
download | linux-rng-64d63187325884b96f684f1d839ec5d5ce231b92.tar.xz linux-rng-64d63187325884b96f684f1d839ec5d5ce231b92.zip |
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>
Diffstat (limited to 'drivers/scsi/pmcraid.c')
0 files changed, 0 insertions, 0 deletions