Message ID | 20140708152034.17969.83997.stgit@build.ogc.int (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
diff --git a/drivers/infiniband/hw/cxgb4/device.c b/drivers/infiniband/hw/cxgb4/device.c index cbcb72d..7db82b2 100644 --- a/drivers/infiniband/hw/cxgb4/device.c +++ b/drivers/infiniband/hw/cxgb4/device.c @@ -696,6 +696,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);
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. This bug was introduced by this commit in 3.15: commit 05eb23893c2cf9502a9cec0c32e7f1d1ed2895c8 Author: Steve Wise <swise@opengridcomputing.com> Date: Fri Mar 14 21:52:08 2014 +0530 cxgb4/iw_cxgb4: Doorbell Drop Avoidance Bug Fixes Signed-off-by: Steve Wise <swise@opengridcomputing.com> Cc: stable@vger.kernel.org # v3.15 --- drivers/infiniband/hw/cxgb4/device.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html