]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
RDS: looping to reap cq recv queue in rds_conn_shutdown
authorChien-Hua Yen <chien.yen@oracle.com>
Mon, 31 Mar 2014 21:47:41 +0000 (14:47 -0700)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Wed, 8 Jul 2015 20:59:54 +0000 (13:59 -0700)
Orabug: 18501034

Signed-off-by: Chien-Hua Yen <chien.yen@oracle.com>
Signed-off-by: Bang Nguyen <bang.nguyen@oracle.com>
(cherry picked from commit e1bab7c0e9af8e56e973c1c65f4f3f7474979c66)
Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
(cherry picked from commit a148e65e2d97a3e4327103b1e49c7cf74533f46d)

net/rds/ib_cm.c

index f3892f459f543c35b8d90c45f774d1ae476ad3ca..7707306bf1fed4bd48c6779e5d43c40fe01b2b02 100644 (file)
@@ -371,6 +371,10 @@ void rds_ib_tasklet_fn_send(unsigned long data)
        memset(&ack_state, 0, sizeof(ack_state));
        rds_ib_stats_inc(s_ib_tasklet_call);
 
+       /* if send cq has been destroyed, ignore incoming cq event */
+       if (!ic->i_scq)
+               return;
+
        poll_cq(ic, ic->i_scq, ic->i_send_wc, &ack_state, 0);
        ib_req_notify_cq(ic->i_scq, IB_CQ_NEXT_COMP);
        poll_cq(ic, ic->i_scq, ic->i_send_wc, &ack_state, 0);