[glsdk/meta-ti-glsdk.git] / recipes-kernel / linux / linux-ti33x-psp-3.2 / 3.2.19 / 0028-RDMA-cxgb4-Always-wake-up-waiters-in-c4iw_peer_abort.patch
1 From e8cefa61ecf62e7ec98658843627df00696699d5 Mon Sep 17 00:00:00 2001
2 From: Steve Wise <swise@opengridcomputing.com>
3 Date: Fri, 27 Apr 2012 09:59:16 -0500
4 Subject: [PATCH 028/117] RDMA/cxgb4: Always wake up waiters in
5 c4iw_peer_abort_intr()
7 commit 0f1dcfae6bc5563424346ad3a03282b8235a4c33 upstream.
9 This fixes a race where an ingress abort fails to wake up the thread
10 blocked in rdma_init() causing the app to hang.
12 Signed-off-by: Steve Wise <swise@opengridcomputing.com>
13 Signed-off-by: Roland Dreier <roland@purestorage.com>
14 Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
15 ---
16 drivers/infiniband/hw/cxgb4/cm.c | 5 +----
17 1 file changed, 1 insertion(+), 4 deletions(-)
19 diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
20 index 0747004..151334c 100644
21 --- a/drivers/infiniband/hw/cxgb4/cm.c
22 +++ b/drivers/infiniband/hw/cxgb4/cm.c
23 @@ -2725,11 +2725,8 @@ static int peer_abort_intr(struct c4iw_dev *dev, struct sk_buff *skb)
25 /*
26 * Wake up any threads in rdma_init() or rdma_fini().
27 - * However, this is not needed if com state is just
28 - * MPA_REQ_SENT
29 */
30 - if (ep->com.state != MPA_REQ_SENT)
31 - c4iw_wake_up(&ep->com.wr_wait, -ECONNRESET);
32 + c4iw_wake_up(&ep->com.wr_wait, -ECONNRESET);
33 sched(dev, skb);
34 return 0;
35 }
36 --
37 1.7.9.5