Sanity check - Why should prims2_check_magic clear HFA384X_EVACK_OFF?
mike.taylor at apprion.com
Thu Jan 12 16:42:48 EST 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.
More information about the HostAP