diff options
author | Steve Wise <swise@opengridcomputing.com> | 2011-05-13 18:37:18 +0000 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2011-05-24 10:01:04 -0700 |
commit | 807838686eb9e40d73b8a3f2384881358f51fff0 (patch) | |
tree | 13ab2b82122044054693e949513500bbc8967aef /drivers/infiniband/hw/cxgb3/iwch_provider.h | |
parent | 257313b2a87795e07a0bdf58d0fffbdba8b31051 (diff) | |
download | linux-807838686eb9e40d73b8a3f2384881358f51fff0.tar.gz linux-807838686eb9e40d73b8a3f2384881358f51fff0.tar.bz2 linux-807838686eb9e40d73b8a3f2384881358f51fff0.zip |
RDMA/cxgb3: Don't post zero-byte read if endpoint is going away
tx_ack() wasn't checking the endpoint state and consequently would
attempt to post the p2p 0B read on an endpoint/QP that is closing or
aborting. This causes a NULL pointer dereference crash.
Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband/hw/cxgb3/iwch_provider.h')
-rw-r--r-- | drivers/infiniband/hw/cxgb3/iwch_provider.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/cxgb3/iwch_provider.h b/drivers/infiniband/hw/cxgb3/iwch_provider.h index c5406da3f4cd..9a342c9b220d 100644 --- a/drivers/infiniband/hw/cxgb3/iwch_provider.h +++ b/drivers/infiniband/hw/cxgb3/iwch_provider.h @@ -332,7 +332,7 @@ int iwch_bind_mw(struct ib_qp *qp, struct ib_mw_bind *mw_bind); int iwch_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc); int iwch_post_terminate(struct iwch_qp *qhp, struct respQ_msg_t *rsp_msg); -int iwch_post_zb_read(struct iwch_qp *qhp); +int iwch_post_zb_read(struct iwch_ep *ep); int iwch_register_device(struct iwch_dev *dev); void iwch_unregister_device(struct iwch_dev *dev); void stop_read_rep_timer(struct iwch_qp *qhp); |