summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Wise <swise@opengridcomputing.com>2014-07-08 10:20:35 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-07-28 08:08:28 -0700
commit1c775c1c4a8501bf772f36475a8bfc5e52eba549 (patch)
treec4b92228ad30645e85da043389f8f87297f25da1
parent0237a67558244497da9718e466872bb698639c3d (diff)
RDMA/cxgb4: Initialize the device status page
commit 6b54d54dea82ae214e4a45a503c4ef755a8ecee8 upstream. The status page is mapped to user processes and allows sharing the device state between the kernel and user processes. This state isn't getting initialized and thus intermittently causes problems. Namely, the user process can mistakenly think the user doorbell writes are disabled which causes SQ work requests to never get fetched by HW. Fixes: 05eb23893c2c ("cxgb4/iw_cxgb4: Doorbell Drop Avoidance Bug Fixes"). Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <roland@purestorage.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/infiniband/hw/cxgb4/device.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/cxgb4/device.c b/drivers/infiniband/hw/cxgb4/device.c
index 8914ea90ddd9..bff1a8ed47d0 100644
--- a/drivers/infiniband/hw/cxgb4/device.c
+++ b/drivers/infiniband/hw/cxgb4/device.c
@@ -654,6 +654,7 @@ static int c4iw_rdev_open(struct c4iw_rdev *rdev)
pr_err(MOD "error allocating status page\n");
goto err4;
}
+ rdev->status_page->db_off = 0;
return 0;
err4:
c4iw_rqtpool_destroy(rdev);