--- linux-2.6.18.noarch/drivers/net/wireless/rt2x00/rt2x00dev.c.orig 2008-09-10 16:31:22.000000000 -0400 +++ linux-2.6.18.noarch/drivers/net/wireless/rt2x00/rt2x00dev.c 2008-09-10 16:32:12.000000000 -0400 @@ -1203,8 +1203,10 @@ void rt2x00lib_remove_dev(struct rt2x00_ * Stop all queued work. Note that most tasks will already be halted * during rt2x00lib_disable_radio() and rt2x00lib_uninitialize(). */ - flush_workqueue(rt2x00dev->workqueue); - destroy_workqueue(rt2x00dev->workqueue); + if (rt2x00dev->workqueue) { + flush_workqueue(rt2x00dev->workqueue); + destroy_workqueue(rt2x00dev->workqueue); + } /* * Free ieee80211_hw memory.