summaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw
diff options
context:
space:
mode:
authorSteve Wise <swise@opengridcomputing.com>2014-03-21 16:10:36 +0100
committerRoland Dreier <roland@purestorage.com>2014-04-02 17:53:53 +0200
commit977116c69862a6062f302395cb3546544d7e1bc1 (patch)
tree18febbdec097c914de5c8bda301cab0ebca36cfd /drivers/infiniband/hw
parentRDMA/cxgb4: Lock around accept/reject downcalls (diff)
downloadlinux-977116c69862a6062f302395cb3546544d7e1bc1.tar.xz
linux-977116c69862a6062f302395cb3546544d7e1bc1.zip
RDMA/cxgb4: Drop RX_DATA packets if the endpoint is gone
Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband/hw')
-rw-r--r--drivers/infiniband/hw/cxgb4/cm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
index 6836d114d75a..8a645d872483 100644
--- a/drivers/infiniband/hw/cxgb4/cm.c
+++ b/drivers/infiniband/hw/cxgb4/cm.c
@@ -1521,6 +1521,8 @@ static int rx_data(struct c4iw_dev *dev, struct sk_buff *skb)
__u8 status = hdr->status;
ep = lookup_tid(t, tid);
+ if (!ep)
+ return 0;
PDBG("%s ep %p tid %u dlen %u\n", __func__, ep, ep->hwtid, dlen);
skb_pull(skb, sizeof(*hdr));
skb_trim(skb, dlen);