linux/drivers/infiniband/hw
Kashyap Desai 1635eb05c3 RDMA/bnxt_re: Avoid calling wake_up threads from spin_lock context
[ Upstream commit 3099bcdc19 ]

bnxt_qplib_service_creq can be called from interrupt or tasklet or
process context. So the function take irq variant  of spin_lock.
But when wake_up is invoked with the lock held, it is putting the
calling context to sleep.

[exception RIP: __wake_up_common+190]
RIP: ffffffffb7539d7e  RSP: ffffa73300207ad8  RFLAGS: 00000083
RAX: 0000000000000001  RBX: ffff91fa295f69b8  RCX: dead000000000200
RDX: ffffa733344af940  RSI: ffffa73336527940  RDI: ffffa73336527940
RBP: 000000000000001c   R8: 0000000000000002   R9: 00000000000299c0
R10: 0000017230de82c5  R11: 0000000000000002  R12: ffffa73300207b28
R13: 0000000000000000  R14: ffffa733341bf928  R15: 0000000000000000
ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018

Call the wakeup after releasing the lock.

Fixes: 1ac5a40479 ("RDMA/bnxt_re: Add bnxt_re RoCE driver")
Signed-off-by: Kashyap Desai <kashyap.desai@broadcom.com>
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Link: https://lore.kernel.org/r/1686308514-11996-3-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2023-07-19 16:36:00 +02:00
..
bnxt_re RDMA/bnxt_re: Avoid calling wake_up threads from spin_lock context 2023-07-19 16:36:00 +02:00
cxgb4 iw_cxgb4: Fix potential NULL dereference in c4iw_fill_res_cm_id_entry() 2023-02-15 13:37:37 +02:00
efa RDMA/efa: Fix unsupported page sizes in device 2023-05-16 21:13:22 -03:00
erdma v6.4 merge window RDMA pull request 2023-04-29 17:21:24 -07:00
hfi1 IB/hfi1: Fix wrong mmu_node used for user SDMA packet after invalidate 2023-07-19 16:35:54 +02:00
hns RDMA/hns: Fix hns_roce_table_get return value 2023-07-19 16:35:54 +02:00
irdma RDMA/irdma: avoid fortify-string warning in irdma_clr_wqes 2023-07-19 16:35:54 +02:00
mana v6.3 RDMA pull request 2023-02-24 15:11:03 -08:00
mlx4 RDMA/mlx4: Prevent shift wrapping in set_user_sq_size() 2023-03-19 11:35:46 +02:00
mlx5 RDMA/mlx5: Fix affinity assignment 2023-06-11 11:27:17 +03:00
mthca IB: move from strlcpy with unused retval to strscpy 2022-08-21 14:18:02 +03:00
ocrdma RDMA/ocrdma: remove unused discard_cnt variable 2023-03-29 14:05:38 +03:00
qedr Linux 6.1-rc8 2022-12-09 15:52:17 -04:00
qib v6.4 merge window RDMA pull request 2023-04-29 17:21:24 -07:00
usnic RDMA/usnic: Remove redundant pci_clear_master 2023-03-29 13:08:22 +03:00
vmw_pvrdma mm: replace vma->vm_flags direct modifications with modifier calls 2023-02-09 16:51:39 -08:00
Makefile RDMA/mana_ib: Add a driver for Microsoft Azure Network Adapter 2022-11-11 11:40:09 +02:00