On Tue, 30 Dec 2008, Alan Jenkins wrote: > Ok, I think I got it. > > The hang is in ieee80211_unregister_hw(), on this line: > > destroy_workqueue(local->hw.workqueue); > > > local->hw.workqueue is created using create_freezeable_workqueue(). So > presumably destroy_workqueue() deadlocks because the workqueue has > already been frozen. > > Is it possible to fix this without suspend support in mac80211? If not, > I vote we change rtl8187 (and zd_usb) to prevent suspend. I.e. set USB > suspend callbacks which return an error. It certainly should be possible to fix this. For instance, why unregister anything during suspend? If ieee80211_unregister_hw() weren't called then this problem would go away, right? Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html