aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Marciniszyn <mike.marciniszyn@intel.com>2016-05-12 10:23:03 -0700
committerDoug Ledford <dledford@redhat.com>2016-05-13 19:39:16 -0400
commitb96b040445f5d84fb8aa2ff986be71f5069c976e (patch)
tree675a4b2244db6d171feabd77569eb72d9fca7660
parentIB/hfi1: Fix pio wait counter double increment (diff)
downloadlinux-dev-b96b040445f5d84fb8aa2ff986be71f5069c976e.tar.xz
linux-dev-b96b040445f5d84fb8aa2ff986be71f5069c976e.zip
IB/hfi1: Fix potential panic with sdma drained mechanism
The guard is backwards, potentially causing the SDMA client to panic if a wait structure was not specified. psm and verbs are not exposed to the issue, but fix the code just to be correct. Fixes: a545f5308b6c ("staging/rdma/hfi: fix CQ completion order issue") Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
-rw-r--r--drivers/staging/rdma/hfi1/sdma.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/staging/rdma/hfi1/sdma.c b/drivers/staging/rdma/hfi1/sdma.c
index abb8ebc1fcac..e938017f78e3 100644
--- a/drivers/staging/rdma/hfi1/sdma.c
+++ b/drivers/staging/rdma/hfi1/sdma.c
@@ -376,7 +376,7 @@ static inline void complete_tx(struct sdma_engine *sde,
sdma_txclean(sde->dd, tx);
if (complete)
(*complete)(tx, res);
- if (iowait_sdma_dec(wait) && wait)
+ if (wait && iowait_sdma_dec(wait))
iowait_drain_wakeup(wait);
}