Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9c163887 authored by Jon Mason's avatar Jon Mason Committed by David S. Miller
Browse files

vxge: hotplug stall



When hot-unplugging a vxge adapter while running, the driver's remove
routine prints warning and then stalls the calling thread.  This is due
to vxge_remove calling vxge_device_unregister to unregister the netdev
before calling flush_scheduled_work clear any pending work.  Swapping
the order of these two functions resolves the issue.

Signed-off-by: default avatarJon Mason <jon.mason@exar.com>
Signed-off-by: default avatarRam Vepa <ram.vepa@exar.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 2e41f644
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -3439,11 +3439,11 @@ static void vxge_device_unregister(struct __vxge_hw_device *hldev)

	strncpy(buf, dev->name, IFNAMSIZ);

	flush_scheduled_work();

	/* in 2.6 will call stop() if device is up */
	unregister_netdev(dev);

	flush_scheduled_work();

	vxge_debug_init(vdev->level_trace, "%s: ethernet device unregistered",
			buf);
	vxge_debug_entryexit(vdev->level_trace,	"%s: %s:%d  Exiting...", buf,