diff options
author | Steve Wise <swise@opengridcomputing.com> | 2007-06-25 13:46:00 -0400 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2007-07-09 23:12:26 -0400 |
commit | ecc2f0060fa7ff2fc53864ee19e370e5ddd47d5e (patch) | |
tree | 1c6e8e79aeb72b44020e4d1885061a2bd5a62c91 /drivers/infiniband/hw/cxgb3 | |
parent | 96d0e4931e264012f57a2ae8f7c4697bfa55386a (diff) |
RDMA/cxgb3: Don't abort after failures sending the mpa reply
This bug results in an abort request being sent down _after_ the tid
has been released. If the tid happens to have been reused, then the
subsequent generation of the tid gets incorrectly aborted.
The thread running iwch_accecpt_cr() must not abort a connection if an
error is returned after being awakened. If any errors did occur while
iwch_accept_cr() is blocked, then the connection has already been
aborted on the thread processing the error.
Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw/cxgb3')
-rw-r--r-- | drivers/infiniband/hw/cxgb3/iwch_cm.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/cxgb3/iwch_cm.c b/drivers/infiniband/hw/cxgb3/iwch_cm.c index 228721f23ce4..3b41dc0c39dd 100644 --- a/drivers/infiniband/hw/cxgb3/iwch_cm.c +++ b/drivers/infiniband/hw/cxgb3/iwch_cm.c | |||
@@ -1781,7 +1781,6 @@ err: | |||
1781 | ep->com.cm_id = NULL; | 1781 | ep->com.cm_id = NULL; |
1782 | ep->com.qp = NULL; | 1782 | ep->com.qp = NULL; |
1783 | cm_id->rem_ref(cm_id); | 1783 | cm_id->rem_ref(cm_id); |
1784 | abort_connection(ep, NULL, GFP_KERNEL); | ||
1785 | put_ep(&ep->com); | 1784 | put_ep(&ep->com); |
1786 | return err; | 1785 | return err; |
1787 | } | 1786 | } |