summaryrefslogtreecommitdiff
path: root/drivers/infiniband/hw/hfi1/user_sdma.h
diff options
context:
space:
mode:
authorMike Marciniszyn <mike.marciniszyn@intel.com>2019-06-07 15:25:31 +0300
committerJason Gunthorpe <jgg@mellanox.com>2019-06-11 23:06:45 +0300
commitda9de5f8527f4b9efc82f967d29a583318c034c7 (patch)
tree336cbfb929371d36fb606e8d769a2dea105bdc4f /drivers/infiniband/hw/hfi1/user_sdma.h
parent5f90677ed31963abb184ee08ebee4a4a68225dd8 (diff)
downloadlinux-da9de5f8527f4b9efc82f967d29a583318c034c7.tar.xz
IB/hfi1: Close PSM 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 user_sdma xmit will hang. Fix by moving the lock to enclose the sdma_progress() call. Also, delete busycount. The need for this was removed by: commit bcad29137a97 ("IB/hfi1: Serve the most starved iowait entry first") Cc: <stable@vger.kernel.org> Fixes: 7724105686e7 ("IB/hfi1: add driver files") 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>
Diffstat (limited to 'drivers/infiniband/hw/hfi1/user_sdma.h')
-rw-r--r--drivers/infiniband/hw/hfi1/user_sdma.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/hfi1/user_sdma.h b/drivers/infiniband/hw/hfi1/user_sdma.h
index 14dfd757dafd..4d8510b0fc38 100644
--- a/drivers/infiniband/hw/hfi1/user_sdma.h
+++ b/drivers/infiniband/hw/hfi1/user_sdma.h
@@ -245,7 +245,6 @@ struct user_sdma_txreq {
struct list_head list;
struct user_sdma_request *req;
u16 flags;
- unsigned int busycount;
u16 seqnum;
};