vxge: add missing flush of reset_task
authorTejun Heo <tj@kernel.org>
Wed, 15 Dec 2010 04:03:29 +0000 (04:03 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 20 Dec 2010 05:54:32 +0000 (21:54 -0800)
Commit 6e07ebd84 (drivers/net: remove unnecessary
flush_scheduled_work() calls) incorrectly removed the flush call
without replacing it with the appropriate work specific operation.
Fix it by flushing vdev->reset_task explicitly.

Pointed out by Jon Mason.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Jon Mason <jon.mason@exar.com>
Acked-by: Jon Mason <jon.mason@exar.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/vxge/vxge-main.c

index 537ad874f11cb2f91e6910ac2ea0a07893e49e92..1ac9b568f1b0cfcc62e1fd7f7f1c32f0749849f5 100644 (file)
@@ -3439,6 +3439,8 @@ static void vxge_device_unregister(struct __vxge_hw_device *hldev)
 
        strncpy(buf, dev->name, IFNAMSIZ);
 
+       flush_work_sync(&vdev->reset_task);
+
        /* in 2.6 will call stop() if device is up */
        unregister_netdev(dev);