Re: Re: [lwlan-devel] Linux-wlan-ng and xen
Solomon Peachy <[email protected]> Mon, 26 Jun 2006 11:32:18 -0400
| Newsgroups | gmane.linux.linux-wlan.user |
|---|---|
| Message-ID | <[email protected]> |
On Sat, Jun 24, 2006 at 12:10:08PM +0100, Richard Kennedy wrote: > There seems to be new code in the 2.6.16 kernel supporting usb suspend / > resume -- I'm seeing warning messages about the device not supporting > the usb suspend & resume methods. I'm not sure what's supposed to happen > in these methods -- other drivers stop kernel timers etc in suspend and > then restart them and reset the card, reloading firmware etc ... The way this is implemented in AVS's commercial drivers is that a suspend gets translated to a shutdown of the hardware (via ifstate_disable). On a resume, we notify userspace, which then brings everything back up via the same mechanism as an initial hotplug. We use custom hotplug agents to do all of this, but we can't rely on hotplug being present any more. I haven't investigated this much yet. > I know my setup is a bit strange -- with the usb wlan built in to the > laptop so it never gets unplugged-- but on a soft reboot the card gets > wedged and won't reconnect to the usb bus. Only a full power down will > reset it. So if the bus isn't actually powered down, the device can't reset itself properly -- what you really need is a way of powercycling that particular USB bus/port on demand independently of the prism2_usb driver. > If I manually prims2ctl disable and remove the module before the reboot > -- it come back up correctly -- this is what made me think it might be > worth add a disable if the module is removed when the card is still > plugged in. Anyway, only another theory... Unfortunately the prism2sta_disconnect_usb() can't distinguish between "remove due to pending module unload" vs "called due to hardware being unplugged", and the code is currently written to be as conseravative and as safe as possible. So, try this: Move the prism2sta_ifstate() call on line 249 of prism2_usb.c to the line immediately preceding the p80211netdev_hwremoved() call (line 236), and see if that fixes your suspend/resume problems (without the refcounting patch) The guts of the USB driver is considerably more robust now, and might handle the hot-unplug case better. - Solomon -- Solomon Peachy [email protected] AbsoluteValue Systems http://www.linux-wlan.com 721-D North Drive +1 (321) 259-0737 (office) Melbourne, FL 32934 +1 (321) 259-0286 (fax) _______________________________________________ Linux-wlan-user mailing list [email protected] http://lists.linux-wlan.com/mailman/listinfo/linux-wlan-user
signature.asc
(application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQFEn/4AhinxHf95MjYRAoKtAKCpGZjENWkPXDg+td0Mgb6Df43GOACeN7xS XSurg24z8B2sgICFU7RRVtE= =1x1g -----END PGP SIGNATURE-----