Hi, > I am currently thinking about the best way to correctly > implement PM suspending for wireless drivers. > Currently, the 802.11 stack is not suspend aware (if I talk > about "stack" here, I mostly mean devicescape). > For example, if we suspend the bcm43xx driver, we don't > notify the stack before doing so. That's a bug.
Similar in rt2x00. The basic approach in there is calling netdev->open() and netdev->stop() which is not the most clean or correct thing to do. > I would say, we should have two functions, which are called > from the driver suspend and resume callbacks. > Let's call them > ieee80211_suspend() and ieee80211_resume() for now. > The suspend would save all status information, for example > to which AP we are associated and so on. After that it would > cleanly disassociate from the AP and do other cleanups which > are needed. > The resume function would try to re-esablish the connection. > Of course, that will not always be possible (the notebook > owner traveled around half the world between suspend and > resume ;) ). But that does not matter. We simply return silently > without a new association (Do a new scan, or whatever). > > Are such functions generally desireable? Absolutely, I have been looking into this some time ago as well, but due to lack of time haven't managed to get anything done. Ivo
pgp5ufe0hNkcF.pgp
Description: PGP signature