State of the OpenMoko wlan driver

Werner Almesberger werner at openmoko.org
Thu Sep 18 20:06:41 CEST 2008


Andy Green wrote:
> ~ - throw out the Atheros SDIO stack, which there is some little hope
> about, and the mainline one acts better

If you're not in a hurry, you can do that even today :-)

I think the basic [1] SDIO stack change is actually fine, but the
problems are in the drivers and limited functionality of the mainline
SDIO stack.

E.g., yesterday, I killed a little fun bug in the S3C SPI driver [2]
that's been playing hide and seek with me for almost two weeks, and
I know there's more of that sort to come in the S3C MMC driver [3].

[1] No suspend/resume yet, though.

[2] This one:
    http://svn.openmoko.org/developers/werner/wlan-spi/patches/s3c-spi-stray-irq.patch
    There's still some problem in the interrupt handling that is
    probably unrelated, but I'll only know for sure once that one is
    fixed as well.

[3] Many those problems are already getting fixed upstream, so the
    picture won't be as grim after moving to a more recent kernel.

Linux SDIO stack limitations include that it only has a synchronous
interface, i.e., you can't just fire off commands from an interrupt,
and that you sometimes get huge delays because of interrupt latency.

The good news is that we're not the only ones with this kind of
trouble, and there's help on the way:

http://thread.gmane.org/gmane.linux.kernel/730250
http://thread.gmane.org/gmane.linux.kernel/730998

Another issue is that the Linux SDIO stack in some cases insists on
polling the SDIO card's interrupt register instead of just using an
interrupt. Fortunately, that one should be easy to fix.

- Werner



More information about the openmoko-kernel mailing list