[PATCH for-rc] RDMA/hns: Fix the problem of mailbox being blocked in the reset scene

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Yangyang Li <liyangyang20@xxxxxxxxxx>

is_reset is used to indicate whether the hardware starts to reset. When
hns_roce_hw_v2_reset_notify_down() is called, the hardware has not yet
started to reset. If is_reset is set at this time, all mailbox operations
of resource destroy actions will be intercepted by driver. When the driver
cleans up resources, but the hardware is still accessed, the following
errors will appear:

[382663.191495] arm-smmu-v3 arm-smmu-v3.2.auto: event 0x10 received:
[382663.336320] arm-smmu-v3 arm-smmu-v3.2.auto: 	0x0000350100000010
[382663.349860] arm-smmu-v3 arm-smmu-v3.2.auto: 	0x000002088000003f
[382663.362217] arm-smmu-v3 arm-smmu-v3.2.auto: 	0x00000000a50e0800
[382663.370690] arm-smmu-v3 arm-smmu-v3.2.auto: 	0x0000000000000000
[382663.385557] arm-smmu-v3 arm-smmu-v3.2.auto: event 0x10 received:
[382663.487465] arm-smmu-v3 arm-smmu-v3.2.auto: 	0x0000350100000010
[382663.534555] arm-smmu-v3 arm-smmu-v3.2.auto: 	0x000002088000043e
[382663.546569] arm-smmu-v3 arm-smmu-v3.2.auto: 	0x00000000a50a0800
[382663.554642] arm-smmu-v3 arm-smmu-v3.2.auto: 	0x0000000000000000
[382663.565023] arm-smmu-v3 arm-smmu-v3.2.auto: event 0x10 received:
[382663.575860] arm-smmu-v3 arm-smmu-v3.2.auto: 	0x0000350100000010
[382663.585248] arm-smmu-v3 arm-smmu-v3.2.auto: 	0x0000020880000436
[382663.595860] arm-smmu-v3 arm-smmu-v3.2.auto: 	0x00000000a50a0880
[382663.804870] arm-smmu-v3 arm-smmu-v3.2.auto: 	0x0000000000000000
[382663.942132] arm-smmu-v3 arm-smmu-v3.2.auto: event 0x10 received:
[382663.962770] arm-smmu-v3 arm-smmu-v3.2.auto: 	0x0000350100000010
[382664.100535] arm-smmu-v3 arm-smmu-v3.2.auto: 	0x000002088000043a
[382664.178632] arm-smmu-v3 arm-smmu-v3.2.auto: 	0x00000000a50e0840
[382664.218997] hns3 0000:35:00.0: INT status: CMDQ(0x0) HW errors(0x0) other(0x0)
[382664.223572] arm-smmu-v3 arm-smmu-v3.2.auto: 	0x0000000000000000
[382664.257988] hns3 0000:35:00.0: received unknown or unhandled event of vector0
[382664.271027] arm-smmu-v3 arm-smmu-v3.2.auto: event 0x10 received:
[382664.546592] arm-smmu-v3 arm-smmu-v3.2.auto: 	0x0000350100000010
[382664.555942] {34}[Hardware Error]: Hardware error from APEI Generic Hardware Error Source: 7

is_reset will be set correctly in check_aedev_reset_status(), so the
setting in hns_roce_hw_v2_reset_notify_down() should be deleted.

Fixes: 726be12f5ca0 ("RDMA/hns: Set reset flag when hw resetting")
Signed-off-by: Yangyang Li <liyangyang20@xxxxxxxxxx>
Signed-off-by: Wenpeng Liang <liangwenpeng@xxxxxxxxxx>
---
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
index 9bfbaddd1763..ae14329c619c 100644
--- a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
+++ b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
@@ -6387,10 +6387,8 @@ static int hns_roce_hw_v2_reset_notify_down(struct hnae3_handle *handle)
 	if (!hr_dev)
 		return 0;
 
-	hr_dev->is_reset = true;
 	hr_dev->active = false;
 	hr_dev->dis_db = true;
-
 	hr_dev->state = HNS_ROCE_DEVICE_STATE_RST_DOWN;
 
 	return 0;
-- 
2.33.0




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux