There is a bug in the current driver in that certain hisi_hbaReviewed-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx>
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@xxxxxxxxxx>
Reviewed-by: Xiang Chen <chenxiang66@xxxxxxxxxxxxx>