[patch] iwi(4) suspend/resume broken

Bernhard Schmidt bschmidt at freebsd.org
Sun Mar 18 17:25:14 UTC 2012


On Sunday 18 March 2012 17:03:52 Mitsuru IWASAKI wrote:
> Hi,
> 
> > I'd really prefer calling ieee80211_stop/init() in the suspend/resume
> > functions, while the driver is not holding the lock (net80211 might
> > call into the driver again).
> > 
> > I roughly checked a few things and I even think that calling
> > ieee80211_stop_all() might be enough. Still playing around though.
> 
> OK, then I wouldn't commit my patches, I would wait for your patches to
> test here.
> Or may I try to hack ieee80211 layer to fix suspend/resume problem?
> 
> Thanks!

Well, I came up with attached diff. It works fine on iwn and wpi
too basically, wpi has a bit of an issue with the scan after resume,
I see probe resquest/response on air but the device doesn't pick
em up sometimes.. still debugging.

Anyways, I'm pretty sure that if you are doing the same for ipw/iwi
it will just work fine. The ieee80211_resume_all/suspend_all calls
will ensure that the appropriate stop/init driver functions are called.

-- 
Bernhard
-------------- next part --------------
A non-text attachment was scrubbed...
Name: suspend.diff
Type: text/x-patch
Size: 2000 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-wireless/attachments/20120318/dd95d516/suspend.bin


More information about the freebsd-wireless mailing list