[PATCH 0/3] WLAN/SDIO power up/down synchronization
werner at openmoko.org
Sat Nov 22 04:52:36 CET 2008
Wolfgang Spraul wrote:
> So normally, association is remembered through a suspend/resume cycle?
If we don't take down the WLAN module, then it should keep its state,
> And right now we would loose it? Is there a chance you can fix this or
> is it an inherent limitation of the firmware we have or the hardware
> module/how it's wired up?
It's basically that s3cmci asks the stack to remove the driver on
suspend, and to re-insert it on resume. This causes the stack to
try to identify the "new" card. Unfortunately, without a prior
reset, this will fail, because the commands used for this are only
allowed after reset.
So the solution will be to avoid removing the driver on suspend.
This probably has to be done in s3cmci, e.g., indicated by a flag
in the platform data.
s3cmci would then just flush the request queue and save the register
state across suspend/resume. (That's basically what the Atheros SDIO
stack does as well.)
So that should be quite fixable. I just haven't done it yet :-)
That change will partially obsolete the patch set I just sent in
the sense that the HIF will never be reached on resume, but all
the rest of the power handling is still needed for modules.
More information about the openmoko-kernel