linux-hardened/drivers/infiniband
Michael J. Ruhl 4061f3a4da IB/hfi1: Race condition between user notification and driver state
The handler for link init state (HLS_UP_INIT) notifies userspace
(update_statusp()) before enabling the device
(RCV_CTRL_RCV_PORT_ENABLE_SMASK) or setting the device state
(ppd->host_link_state).  This causes a race condition where the
userspace thinks the interface is in the INIT state before the driver
has set that state.

Rework the code path to eliminate the race.

Delay setting the init state until after a HW settling period.

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-10-30 14:51:36 -04:00
..
core IB/cm: Fix memory corruption in handling CM request 2017-10-25 14:37:03 -04:00
hw IB/hfi1: Race condition between user notification and driver state 2017-10-30 14:51:36 -04:00
sw IB/rxe: Convert timers to use timer_setup() 2017-10-25 15:24:49 -04:00
ulp IB/ipoib: Change number of TX wqe to 64 2017-10-25 13:36:50 -04:00
Kconfig infiniband: add MMU dependency for user_mem 2017-10-10 10:49:44 -04:00
Makefile IB/rdmavt: Create module framework and handle driver registration 2016-03-10 20:37:04 -05:00