Alan Jenkins wrote: > [lsusb: ID 0bda:8187 Realtek Semiconductor Corp] > > > I'd like to use this wireless adaptor I have, but the driver doesn't > play nice with suspend. It hangs after switching to the console, > without printing anything. This happens even if I haven't used the > adaptor (i.e. ifconfig shows 0 bytes rx/tx). Interestingly the numlock > key on my USB keyboard still works. > > I tried "no_console_suspend nmi_watchdog=1", but it didn't show any more > output. (I waited 3 minutes for the watchdog to trigger). > > However, I can insert panic() calls, and see whether I hit the hang > first, or go into a panic with flashing keyboard LEDs. I used this to > confirm that the hang happens inside the rtl8187_disconnect() function. > > There's a good chance I can track this down myself, using panic() > again. Before I start, does anyone have an idea what might be happening? > 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. Thanks Alan -- 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