scsi: hisi_sas: shutdown axi bus to avoid exception CQ returned
authorXiang Chen <chenxiang66@hisilicon.com>
Fri, 25 Jan 2019 14:22:31 +0000 (22:22 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2019 08:21:20 +0000 (09:21 +0100)
commit182215d7fb1759a4a2bea929ac33f7a3ae90da09
tree0d3472f6c8eaa4adc5e0cfaf3e5c43261f8837b2
parent81ae6e6bfa2704df650f37c59c1ce989cb56536d
scsi: hisi_sas: shutdown axi bus to avoid exception CQ returned

[ Upstream commit 5c31b0c677531c2b8b4e29b3cfb923df663f39b7 ]

When injecting 2 bit ECC error, it will cause fatal AXI interrupts. Before
the recovery of SAS controller reset, the internal of SAS controller is in
error. If CQ interrupts return at the time, actually it is exception CQ
interrupt, and it may cause resource release in disorder.

To avoid the exception situation, shutdown AXI bus after fatal AXI
interrupt. In SAS controller reset, it will restart AXI bus. For later
version of v3 hw, hardware will shutdown AXI bus for this situation, so
just fix current ver of v3 hw.

Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
Signed-off-by: John Garry <john.garry@huawei.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c