]> err.no Git - linux-2.6/commitdiff
RDMA/cxgb3: Silently ignore close reply after abort.
authorSteve Wise <swise@opengridcomputing.com>
Fri, 2 May 2008 17:57:09 +0000 (10:57 -0700)
committerRoland Dreier <rolandd@cisco.com>
Fri, 2 May 2008 17:57:09 +0000 (10:57 -0700)
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>
drivers/infiniband/hw/cxgb3/iwch_cm.c

index d44a6df9ad8c4a7ebd915b00817a8a980ae2f237..32e290e5661c6a7908491e41465165b9747358fd 100644 (file)
@@ -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;