]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
sdp: rx completions workqueue should be flushed after qp destruction and before the...
authorEldad Zinger <eldadz@mellanox.co.il>
Wed, 7 Jul 2010 13:03:11 +0000 (16:03 +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_main.c

index 42b0509acc98914b5b57cf76ca2f91d1ae9e0333..f1d148aff5338449b7ab9a8fb56df33662745a6d 100644 (file)
@@ -527,6 +527,8 @@ static void sdp_destruct(struct sock *sk)
        up_read(&device_removal_lock);
 
        flush_scheduled_work();
+       flush_workqueue(rx_comp_wq);
+       /* Consider use cancel_work_sync(&ssk->rx_comp_work) */
 
        if (ssk->parent)
                goto done;
@@ -2849,6 +2851,7 @@ kill_socks:
                        ssk->sdp_dev = NULL;
 
                        release_sock(sk);
+                       flush_workqueue(rx_comp_wq);
                        schedule();
                        spin_lock_irq(&sock_list_lock);