[PATCH for-next 3/3] RDMA/hns: Bugfix for SCC hem free

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

 



From: Yangyang Li <liyangyang20@xxxxxxxxxx>

The method of hem free for SCC context is different from qp
context.

In the current version, if free SCC hem during the execution of
qp free, there may be smmu error as below:
[  355.879916] arm-smmu-v3 arm-smmu-v3.1.auto: event 0x10 received:
[  355.885922] arm-smmu-v3 arm-smmu-v3.1.auto:  0x00007d0000000010
[  355.891840] arm-smmu-v3 arm-smmu-v3.1.auto:  0x000012000000017c
[  355.897752] arm-smmu-v3 arm-smmu-v3.1.auto:  0x00000000000009e0
[  355.903663] arm-smmu-v3 arm-smmu-v3.1.auto:  0x0000000000000000

As SCC context is still used by hardware after qp free,
we can solve this problem by removing SCC hem free from
hns_roce_qp_free.

Fixes: 6a157f7d1b14 ("RDMA/hns: Add SCC context allocation support for hip08")
Signed-off-by: Yangyang Li <liyangyang20@xxxxxxxxxx>
---
 drivers/infiniband/hw/hns/hns_roce_qp.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/infiniband/hw/hns/hns_roce_qp.c b/drivers/infiniband/hw/hns/hns_roce_qp.c
index 57c76ea..66cdf62 100644
--- a/drivers/infiniband/hw/hns/hns_roce_qp.c
+++ b/drivers/infiniband/hw/hns/hns_roce_qp.c
@@ -274,9 +274,6 @@ void hns_roce_qp_free(struct hns_roce_dev *hr_dev, struct hns_roce_qp *hr_qp)
 	wait_for_completion(&hr_qp->free);
 
 	if ((hr_qp->ibqp.qp_type) != IB_QPT_GSI) {
-		if (hr_dev->caps.sccc_entry_sz)
-			hns_roce_table_put(hr_dev, &qp_table->sccc_table,
-					   hr_qp->qpn);
 		if (hr_dev->caps.trrl_entry_sz)
 			hns_roce_table_put(hr_dev, &qp_table->trrl_table,
 					   hr_qp->qpn);
-- 
1.9.1




[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