From: Eldad Zinger Date: Sun, 10 Oct 2010 09:50:12 +0000 (+0200) Subject: sdp: BUG2144 - first free rx_sa before sending SendSM X-Git-Tag: v4.1.12-92~264^2~5^2~92 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=aa877ea10e84252d1aedbcc4cbc67730909d8294;p=users%2Fjedix%2Flinux-maple.git sdp: BUG2144 - first free rx_sa before sending SendSM otherwise a new rx_sa might be alloced before the old one is removed. Signed-off-by: Eldad Zinger --- diff --git a/drivers/infiniband/ulp/sdp/sdp_main.c b/drivers/infiniband/ulp/sdp/sdp_main.c index fd6e00c14bb83..e6599d079d863 100644 --- a/drivers/infiniband/ulp/sdp/sdp_main.c +++ b/drivers/infiniband/ulp/sdp/sdp_main.c @@ -2256,8 +2256,8 @@ static int sdp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, sdp_dbg_data(sk, "Aborting SA " "due to SACancel or " "no fmr pool\n"); - sdp_post_sendsm(sk); sdp_abort_rx_srcavail(sk); + sdp_post_sendsm(sk); rx_sa = NULL; if (offset < skb->len) { sdp_prf(sk, skb, "Converted SA to DATA"); @@ -2417,8 +2417,8 @@ sdp_mid_data: err = sdp_rdma_to_iovec(sk, msg->msg_iov, skb, &used, offset); if (unlikely(err)) { - sdp_post_sendsm(sk); sdp_abort_rx_srcavail(sk); + sdp_post_sendsm(sk); rx_sa = NULL; if (err == -EAGAIN || err == -ETIME) goto skb_cleanup;