linux-stable/drivers/infiniband/hw/hfi1
Mike Marciniszyn 2aee309d3e IB/hfi1: Fix deadlock with txreq allocation slow path
A failure in the get_txreq() inline will result in a
slow path retry using __get_txreq().

__get_txreq() attempts to procure the qp s_lock, which
is already held in all callers.

Fix by deleting the s_lock maintenance in __get_txreq()
and add sparse syntax hooks to future proof the code.

Cc: Stable <stable@vger.kernel.org> # 4.6+
Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2016-06-23 10:16:15 -04:00
..
Kconfig
Makefile
affinity.c IB/hfi1: Avoid large frame size warning 2016-06-06 19:16:52 -04:00
affinity.h
aspm.h
chip.c IB/hfi1: Send a pkey change event on driver pkey update 2016-06-17 20:11:27 -04:00
chip.h IB/hfi1: Correct 8051 link parameter settings 2016-05-26 12:21:10 -04:00
chip_registers.h
common.h
debugfs.c
debugfs.h
device.c
device.h
dma.c
driver.c
efivar.c
efivar.h
eprom.c
eprom.h
file_ops.c IB/hfi1: Prevent context loss 2016-06-17 20:11:26 -04:00
firmware.c
hfi.h
init.c IB/hfi1: Fix potential NULL ptr dereference 2016-06-17 20:11:27 -04:00
intr.c
iowait.h
mad.c IB/hfi1: Send a pkey change event on driver pkey update 2016-06-17 20:11:27 -04:00
mad.h IB/hfi1: Send a pkey change event on driver pkey update 2016-06-17 20:11:27 -04:00
mmu_rb.c
mmu_rb.h
opa_compat.h
pcie.c
pio.c IB/hfi1: Increase packet egress timeout 2016-06-17 20:11:26 -04:00
pio.h
pio_copy.c
platform.c IB/hfi1: Correct 8051 link parameter settings 2016-05-26 12:21:10 -04:00
platform.h
qp.c IB/hfi1: Fix hard lockup due to not using save/restore spin lock 2016-05-26 12:21:10 -04:00
qp.h
qsfp.c IB/hfi1: Fix potential buffer overflow 2016-06-17 20:11:27 -04:00
qsfp.h
rc.c
ruc.c
sdma.c
sdma.h
sdma_txreq.h
sysfs.c
trace.c IB/hfi1: Suppress sparse warnings 2016-06-06 19:37:23 -04:00
trace.h IB/hfi1: Add tracing support for send with invalidate opcode 2016-05-26 12:21:10 -04:00
twsi.c
twsi.h
uc.c
ud.c
user_exp_rcv.c
user_exp_rcv.h
user_pages.c
user_sdma.c IB/hfi1: Suppress sparse warnings 2016-06-06 19:37:23 -04:00
user_sdma.h
verbs.c IB/hfi1: Add tracing support for send with invalidate opcode 2016-05-26 12:21:10 -04:00
verbs.h
verbs_txreq.c IB/hfi1: Fix deadlock with txreq allocation slow path 2016-06-23 10:16:15 -04:00
verbs_txreq.h IB/hfi1: Fix deadlock with txreq allocation slow path 2016-06-23 10:16:15 -04:00