]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
sdp: rx/tx tasklets should be properly killed when destroying qp.
authorEldad Zinger <eldadz@mellanox.co.il>
Mon, 5 Jul 2010 11:46:04 +0000 (14:46 +0300)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Tue, 6 Oct 2015 12:05:09 +0000 (05:05 -0700)
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
drivers/infiniband/ulp/sdp/sdp_rx.c
drivers/infiniband/ulp/sdp/sdp_tx.c

index f566522c24bca4d514c1b64ce0dd8bafb802c940..9e0e9426b704a25977eeeb9bac36846f7ccffe24 100644 (file)
@@ -1001,5 +1001,9 @@ void sdp_rx_ring_destroy(struct sdp_sock *ssk)
                }
        }
 
+       tasklet_kill(&ssk->rx_ring.tasklet);
+       /* rx_cq is destroyed, so no more rx_irq, so no one will schedule this
+        * tasklet. */
+
        SDP_WARN_ON(ring_head(ssk->rx_ring) != ring_tail(ssk->rx_ring));
 }
index af93cacd4f36310824fb1827cb1716997b485c8d..e52f0382addb3eae2b9a1e2b935597f175f40f6f 100644 (file)
@@ -535,5 +535,9 @@ void sdp_tx_ring_destroy(struct sdp_sock *ssk)
                }
        }
 
+       tasklet_kill(&ssk->tx_ring.tasklet);
+       /* tx_cq is destroyed, so no more tx_irq, so no one will schedule this
+        * tasklet. */
+
        SDP_WARN_ON(ring_head(ssk->tx_ring) != ring_tail(ssk->tx_ring));
 }