1
0
Fork 0
alistair23-linux/drivers/infiniband/hw
Mike Marciniszyn 18912c4524 IB/hfi1: Close VNIC sdma_progress sleep window
The call to sdma_progress() is called outside the wait lock.

In this case, there is a race condition where sdma_progress() can return
false and the sdma_engine can idle.  If that happens, there will be no
more sdma interrupts to cause the wakeup and the vnic_sdma xmit will hang.

Fix by moving the lock to enclose the sdma_progress() call.

Also, delete the tx_retry. The need for this was removed by:
commit bcad29137a ("IB/hfi1: Serve the most starved iowait entry first")

Fixes: 64551ede6c ("IB/hfi1: VNIC SDMA support")
Reviewed-by: Gary Leshner <Gary.S.Leshner@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2018-12-06 20:15:36 -07:00
..
bnxt_re RDMA/drivers: Use core provided API for registering device attributes 2018-10-17 03:45:01 -06:00
cxgb3 infiniband/hw/cxgb3/cxio_hal.c: Use dma_zalloc_coherent 2018-11-21 15:52:35 -07:00
cxgb4 iw_cxgb4: only reconnect with MPAv1 if the peer aborts 2018-11-21 16:15:19 -07:00
hfi1 IB/hfi1: Close VNIC sdma_progress sleep window 2018-12-06 20:15:36 -07:00
hns RDMA/hns: Add SRQ asynchronous event support 2018-12-05 07:59:13 -07:00
i40iw i40iw: remove support for ib_get_vector_affinity 2018-11-08 14:22:53 -07:00
mlx4 mlx4: trigger IB events needed by SMC 2018-11-22 11:57:31 -07:00
mlx5 IB/mlx5: Allow XRC usage via verbs in DEVX context 2018-12-04 13:46:42 -05:00
mthca RDMA/drivers: Use core provided API for registering device attributes 2018-10-17 03:45:01 -06:00
nes First merge window pull request 2018-10-26 07:38:19 -07:00
ocrdma RDMA/drivers: Use core provided API for registering device attributes 2018-10-17 03:45:01 -06:00
qedr RDMA/drivers: Use core provided API for registering device attributes 2018-10-17 03:45:01 -06:00
qib RDMA/qib: Remove all occurrences of BUG_ON() 2018-11-29 15:59:40 -07:00
usnic IB/usnic: fix spelling mistake "miniumum" -> "minimum" 2018-11-29 15:59:40 -07:00
vmw_pvrdma RDMA/drivers: Use core provided API for registering device attributes 2018-10-17 03:45:01 -06:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00