tree e427260a9049b1300fe69c7542bdb4a85fa2fa9a
parent fe9e08e17af414a5fd8f3141b0fd88677f81a883
author Michael S. Tsirkin <[EMAIL PROTECTED]> Thu, 25 Aug 2005 04:41:51 -0700
committer Roland Dreier <[EMAIL PROTECTED]> Sat, 27 Aug 2005 10:37:38 -0700

[PATCH] IPoIB: Fix device removal race

Currently we may have work scheduled in default kernel workqueue when
the device is going down.  The device could get freed before this
workqueue gets serviced.  I am actually seeing this causing system

The following patch fixes this by using ipoib_workqueue which gets
flushed when the device is going down.

Signed-off-by: Michael S. Tsirkin <[EMAIL PROTECTED]>
Signed-off-by: Roland Dreier <[EMAIL PROTECTED]>

 drivers/infiniband/ulp/ipoib/ipoib_main.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c 
--- a/drivers/infiniband/ulp/ipoib/ipoib_main.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c
@@ -672,7 +672,7 @@ static void ipoib_set_mcast_list(struct 
        struct ipoib_dev_priv *priv = netdev_priv(dev);
-       schedule_work(&priv->restart_task);
+       queue_work(ipoib_workqueue, &priv->restart_task);
 static void ipoib_neigh_destructor(struct neighbour *n)
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to