diff options
author | Steve Wise <swise@opengridcomputing.com> | 2008-05-02 10:57:09 -0700 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2008-05-02 10:57:09 -0700 |
commit | c4d49776e8f5bf2d900d2b6d4855c1670a535ac5 (patch) | |
tree | 5e2f8d8dfc839436c3e5a07adbb3e1a861909e01 /drivers/infiniband/hw | |
parent | c8286944b802c5ce4063ec3c334b38c6757a9434 (diff) | |
download | linux-c4d49776e8f5bf2d900d2b6d4855c1670a535ac5.tar.gz linux-c4d49776e8f5bf2d900d2b6d4855c1670a535ac5.tar.bz2 linux-c4d49776e8f5bf2d900d2b6d4855c1670a535ac5.zip |
RDMA/cxgb3: Silently ignore close reply after abort.
Remove bad BUG_ON() that can trigger in correct operation from
close_con_rpl(). It is possible to get a close_rpl message on a dead
connection. The sequence is:
- host refs ep for close exchange
- host posts close_req
- hw posts PEER_ABORT from incoming RST
- host marks ep DEAD
- host posts ABORT_RPL and releases ep resources
- hw posts CLOSE_RPL
- host derefs ep and ep freed.
Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw')
-rw-r--r-- | drivers/infiniband/hw/cxgb3/iwch_cm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/cxgb3/iwch_cm.c b/drivers/infiniband/hw/cxgb3/iwch_cm.c index d44a6df9ad8c..32e290e5661c 100644 --- a/drivers/infiniband/hw/cxgb3/iwch_cm.c +++ b/drivers/infiniband/hw/cxgb3/iwch_cm.c @@ -1650,8 +1650,8 @@ static int close_con_rpl(struct t3cdev *tdev, struct sk_buff *skb, void *ctx) release = 1; break; case ABORTING: - break; case DEAD: + break; default: BUG_ON(1); break; |