HostAP Stability (fixed??)
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