HostAP Stability (fixed??)

Jouni Malinen jkmaline at cc.hut.fi
Mon May 12 00:14:12 EDT 2003


On Sun, May 11, 2003 at 09:57:29PM -0500, Dave Hinkle wrote:

> The vast majority of our routers are soekris based, and we're having
> constant problems with locked up cards.  If you could make the work around
> patches available, we would really appreciate it.

OK. The workaround for recovering from these hangs is now available in
CVS version. It should detect a hang situation and recover from it in
about five seconds.

Better yet, I think I found and fixed the real cause for the issue.
There was a race condition in reading and writing event mask
(local->event_mask vs. IntEn register). This enabled a scenario in which
sw irq handler for BAP0 events (hostap_bap_tasklet) unmasked those
events and was immediately interrupted by the next event. This
interrupt could happen between local->event_mask and IntEn writes..

After fixing this race (by removing local->event_mask), I have been
unable to cause the hang anymore. So far, I have sent more than 1 GB of
data through without any problems. Of course this is not a proof that
the problem is solved, but at least things look much better now. Btw,
only using TCP flood did not seem to be enough to tricker the hang. I
needed to add some printk's to print something over 9600 bps serial
console to be able to hang the system..

I did not remove the automatic recovery mechanism so that it will be
easier to get useful information about other potential issues. The
watchdog code will keep a counter of detected hangs. This is available
from /proc/net/hostap/wlan#/debug (sw_tick_stuck). Please let me know,
if you see this counter being incremented. In addition, these events
will be reported in kernel log.

-- 
Jouni Malinen                                            PGP id EFC895FA



More information about the HostAP mailing list