Sanity check - Why should prims2_check_magic clear HFA384X_EVACK_OFF?

Michael Taylor mike.taylor
Thu Jan 12 13:42:48 PST 2006


I've got four Ambicom board, model WL1100C-CF.  When hostap 0.4.7 kernel 
module is built with final_version undefined in hostap_hw, I see the 
dreaded error from prism2_check_magic that says "SWSUPPORT0 does not 
match" and the system locks up.  I believe this occurs because of 
hostap_hw.c:2705 which reads "HFA384X_OUT(0xffff, HFA384X_EVACK_OFF);" 
which appears to clear all the events.  Sure the firmware probably has a 
problem, but until this happens things appear to be working.   Since 
prism2_check_magic() clears all the interrupts, the subsequent call in 
the hardware interrupt handler to read the pending events 
(HFA384X_EVSTAT_OFF) should not have any enabled interrupts when the 
interrupt handler goes to check.  This results in a busy wait (it uses 
break inside a "for(;;)" loop).  Unless and until another interrupt 
occurs on the card, we will busy-wait and block all interrupts.

I've read several similar reports of "locking up" with final_version 
undefined.  I believe that this line should be deleted.

Please, if you know what I am talking about - please tell me if I am I 
smoking something or if this is indeed a bug.

Cheers,

Mike





More information about the Hostap mailing list