linux/drivers/infiniband/hw/hfi1
Michael J. Ruhl f2a3bc00a0 IB/hfi1: Protect context array set/clear with spinlock
The rcd array can be accessed from user context or during interrupts.
Protecting this with a mutex isn't a good idea because the mutex should
not be used from an IRQ.

Protect the allocation and freeing of rcd array elements with a
spinlock.

Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Reviewed-by: Sebastian Sanchez <sebastian.sanchez@intel.com>
Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2017-08-22 14:22:36 -04:00
..
affinity.c IB/hfi1: Replace deprecated pci functions with new API 2017-06-27 16:58:11 -04:00
affinity.h IB/hfi1: Name function prototype parameters for affinity module 2017-06-27 16:56:33 -04:00
aspm.h IB/hfi1: Size rcd array index correctly and consistently 2017-07-31 15:17:55 -04:00
chip_registers.h RDMA/hfi1: Defer setting VL15 credits to link-up interrupt 2017-06-01 17:04:20 -04:00
chip.c IB/hfi1: Protect context array set/clear with spinlock 2017-08-22 14:22:36 -04:00
chip.h IB/hfi1: Remove lstate from hfi1_pportdata 2017-08-22 14:22:36 -04:00
common.h IB/hfi1: Setup common IB fields in hfi1_packet struct 2017-06-27 16:56:33 -04:00
debugfs.c IB/hfi1: Virtual Network Interface Controller (VNIC) HW support 2017-04-20 15:19:35 -04:00
debugfs.h IB/hfi1: Add transmit fault injection feature 2017-04-05 14:45:09 -04:00
device.c infiniband: utilize the new cdev_set_parent function 2017-03-21 06:44:33 +01:00
device.h
driver.c IB/hfi1: Create workqueue for link events 2017-07-31 15:18:38 -04:00
efivar.c IB/hfi1: Check upper-case EFI variables 2017-02-19 09:18:37 -05:00
efivar.h
eprom.c IB/hfi1: Handle missing magic values in config file 2017-06-27 16:58:13 -04:00
eprom.h IB/hfi1: Add ability to read platform config from the EPROM 2016-10-02 08:42:20 -04:00
exp_rcv.c IB/hfi1: Initialize TID lists to avoid crash on cleanup 2017-06-27 16:58:13 -04:00
exp_rcv.h IB/hfi1: Fix bar0 mapping to use write combining 2017-07-31 15:17:54 -04:00
file_ops.c IB/hfi1: Protect context array set/clear with spinlock 2017-08-22 14:22:36 -04:00
firmware.c IB/hfi1: Always perform offline transition 2017-07-31 15:18:38 -04:00
hfi.h IB/hfi1: Protect context array set/clear with spinlock 2017-08-22 14:22:36 -04:00
init.c IB/hfi1: Protect context array set/clear with spinlock 2017-08-22 14:22:36 -04:00
intr.c IB/hfi1: Verify port data VLs credits on transition to Armed 2017-07-31 15:18:37 -04:00
iowait.h IB/hfi1: Serve the most starved iowait entry first 2017-07-31 15:17:54 -04:00
Kconfig Second round of merge items for 4.8 2016-08-04 20:26:31 -04:00
mad.c IB/hfi1: Remove lstate from hfi1_pportdata 2017-08-22 14:22:36 -04:00
mad.h IB/hfi1: Send MAD traps until repressed 2017-07-31 15:17:55 -04:00
Makefile IB/hfi1: Create common expected receive verbs/PSM code 2017-06-27 16:58:13 -04:00
mmu_rb.c IB/hfi1: Don't remove RB entry when not needed. 2017-06-27 16:56:33 -04:00
mmu_rb.h IB/hfi1: Don't remove RB entry when not needed. 2017-06-27 16:56:33 -04:00
opa_compat.h
pcie.c IB/hfi1: Move saving PCI values to a separate function 2017-07-31 15:18:37 -04:00
pio_copy.c IB/hfi1: Optimize pio_buf and send_context structs 2016-11-15 16:37:27 -05:00
pio.c IB/hfi1: Create workqueue for link events 2017-07-31 15:18:38 -04:00
pio.h IB/hfi: Fix up comments in engine mapping 2017-04-25 15:24:51 -04:00
platform.c IB/hfi1: Disambiguate corruption and uninitialized error cases 2017-07-31 15:18:38 -04:00
platform.h IB/hfi1: Define platform_config_table_limits once 2016-12-11 15:29:42 -05:00
qp.c IB/hfi1: Serve the most starved iowait entry first 2017-07-31 15:17:54 -04:00
qp.h IB/{rdmavt, qib, hfi1}: Remove gfp flags argument 2017-07-17 21:21:23 -04:00
qsfp.c IB/hfi1: Extend i2c timeout 2016-10-02 08:42:13 -04:00
qsfp.h IB/hfi1: Fetch monitor values on-demand for CableInfo query 2016-08-22 14:31:41 -04:00
rc.c IB/hfi1: Setup common IB fields in hfi1_packet struct 2017-06-27 16:56:33 -04:00
ruc.c IB/{rdmavt, hfi1, qib}: Fix panic with post receive and SGE compression 2017-07-31 15:18:38 -04:00
sdma_txreq.h
sdma.c IB/hfi1: Create workqueue for link events 2017-07-31 15:18:38 -04:00
sdma.h IB/hfi1: Serve the most starved iowait entry first 2017-07-31 15:17:54 -04:00
sysfs.c IB/hfi1: add const to bin_attribute structures 2017-08-18 14:06:09 -04:00
trace_ctxts.h IB/hfi1: Clean up context initialization 2017-05-04 19:31:46 -04:00
trace_dbg.h IB/hfi1: Separate tracepoints into specific headers 2016-08-02 12:00:54 -04:00
trace_ibhdrs.h IB/hfi1: Separate input/output header tracing 2017-06-27 16:56:33 -04:00
trace_misc.h IB/hfi1: Add traces for TID operations 2017-06-27 16:58:13 -04:00
trace_rc.h IB/rdmavt, IB/hfi1: Fix timer migration regressions 2017-04-05 14:45:09 -04:00
trace_rx.h IB/hfi1: Size rcd array index correctly and consistently 2017-07-31 15:17:55 -04:00
trace_tx.h IB/hfi1: Fix yield logic in send engine 2017-05-04 19:31:46 -04:00
trace.c IB/hfi1: Separate input/output header tracing 2017-06-27 16:56:33 -04:00
trace.h IB/hfi1: Separate tracepoints into specific headers 2016-08-02 12:00:54 -04:00
uc.c IB/hfi1: Setup common IB fields in hfi1_packet struct 2017-06-27 16:56:33 -04:00
ud.c IB/hfi1,qib: Do not send QKey trap for UD qps 2017-06-27 16:58:12 -04:00
user_exp_rcv.c IB/hfi1: Only set fd pointer when base context is completely initialized 2017-07-31 15:18:38 -04:00
user_exp_rcv.h IB/hfi1: Only set fd pointer when base context is completely initialized 2017-07-31 15:18:38 -04:00
user_pages.c IB/hfi1: Virtual Network Interface Controller (VNIC) HW support 2017-04-20 15:19:35 -04:00
user_sdma.c IB/hfi1: Only set fd pointer when base context is completely initialized 2017-07-31 15:18:38 -04:00
user_sdma.h IB/hfi1: Only set fd pointer when base context is completely initialized 2017-07-31 15:18:38 -04:00
verbs_txreq.c IB/hfi1: Add unique txwait_lock for txreq events 2016-11-15 16:25:59 -05:00
verbs_txreq.h IB/hfi1: Remove dependence on qp->s_cur_size 2016-12-11 15:25:13 -05:00
verbs.c RDMA: Simplify get firmware interface 2017-08-10 13:28:10 +03:00
verbs.h IB/hfi1: Serve the most starved iowait entry first 2017-07-31 15:17:54 -04:00
vnic_main.c IB/hfi1: Protect context array set/clear with spinlock 2017-08-22 14:22:36 -04:00
vnic_sdma.c IB/hfi1: Serve the most starved iowait entry first 2017-07-31 15:17:54 -04:00
vnic.h IB/hfi1: Serve the most starved iowait entry first 2017-07-31 15:17:54 -04:00