Search Linux Wireless

Re: rtl8187 usb wifi adaptor causes suspend hang

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux