[maemo-developers] WLAN Horrible Roaming Performance (N800, OS2008), Software or Hardware Problem ?

From: Kalle Valo kalle.valo at nokia.com
Date: Fri Feb 22 12:50:51 EET 2008
"ext Frantisek Dufka" <dufkaf at seznam.cz> writes:

> So you need to be familiar with the driver and tell us if it is
> possible to sleep inside cx3110x_spi_dma_read and
> cx3110x_spi_dma_write.

cx3110x uses tasklets and it's not possible sleep in a tasklet.

> And one also needs to be familiar with kernel programming and
> waiting primitives to suggest how to sleep and wait for the callback
> (if possible in this context) and how to wake up the sleeping code
> from the dma callback.

Basically I see two choices here, either you could either convert the
driver to use a workqueue and use wait_for_completion()/complete() or
convert the interrupt handling to use asynchronous calls.

The latter is more difficult, but you might get some performance
savings. You could ditch tasklet altogether and use interrupt handler.

But I can't spend any time on the 770 driver, I can only wish you good
luck.

-- 
Kalle Valo

More information about the maemo-developers mailing list