kernel_samsung_a53x/drivers/infiniband/hw
Chengchang Tang 979f4d58ca RDMA/hns: Fix spin_unlock_irqrestore() called with IRQs enabled
[ Upstream commit 74d315b5af180220d561684d15897730135733a6 ]

Fix missuse of spin_lock_irq()/spin_unlock_irq() when
spin_lock_irqsave()/spin_lock_irqrestore() was hold.

This was discovered through the lock debugging, and the corresponding
log is as follows:

raw_local_irq_restore() called with IRQs enabled
WARNING: CPU: 96 PID: 2074 at kernel/locking/irqflag-debug.c:10 warn_bogus_irq_restore+0x30/0x40
...
Call trace:
 warn_bogus_irq_restore+0x30/0x40
 _raw_spin_unlock_irqrestore+0x84/0xc8
 add_qp_to_list+0x11c/0x148 [hns_roce_hw_v2]
 hns_roce_create_qp_common.constprop.0+0x240/0x780 [hns_roce_hw_v2]
 hns_roce_create_qp+0x98/0x160 [hns_roce_hw_v2]
 create_qp+0x138/0x258
 ib_create_qp_kernel+0x50/0xe8
 create_mad_qp+0xa8/0x128
 ib_mad_port_open+0x218/0x448
 ib_mad_init_device+0x70/0x1f8
 add_client_context+0xfc/0x220
 enable_device_and_get+0xd0/0x140
 ib_register_device.part.0+0xf4/0x1c8
 ib_register_device+0x34/0x50
 hns_roce_register_device+0x174/0x3d0 [hns_roce_hw_v2]
 hns_roce_init+0xfc/0x2c0 [hns_roce_hw_v2]
 __hns_roce_hw_v2_init_instance+0x7c/0x1d0 [hns_roce_hw_v2]
 hns_roce_hw_v2_init_instance+0x9c/0x180 [hns_roce_hw_v2]

Fixes: 9a4435375cd1 ("IB/hns: Add driver files for hns RoCE driver")
Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
Link: https://patch.msgid.link/20240906093444.3571619-6-huangjunxian6@hisilicon.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-23 23:21:26 +01:00
..
bnxt_re bnxt_re: Fix imm_data endianness 2024-11-23 23:20:11 +01:00
cxgb4 RDMA/cxgb4: Check skb value for failure to allocate 2024-11-08 11:24:52 +01:00
efa Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hfi1 IB/hfi1: Fix potential deadlock on &irq_src_lock and &dd->uctxt_lock 2024-11-23 23:20:45 +01:00
hns RDMA/hns: Fix spin_unlock_irqrestore() called with IRQs enabled 2024-11-23 23:21:26 +01:00
i40iw RDMA/irdma: Prevent zero-length STAG registration 2024-11-18 12:10:54 +01:00
mlx4 RDMA/mlx4: Fix truncated output warning in alias_GUID.c 2024-11-23 23:20:10 +01:00
mlx5 RDMA/mlx5: Add check for srq max_sge attribute 2024-11-19 14:19:09 +01:00
mthca RDMA/usnic: Silence uninitialized symbol smatch warnings 2024-11-18 12:12:38 +01:00
ocrdma Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
qedr RDMA/qedr: Fix qedr_create_user_qp error flow 2024-11-18 22:25:39 +01:00
qib Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
usnic Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vmw_pvrdma Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00