Kernel oops when cardctl eject

manisha r sankpal s_manu25 at
Fri May 13 03:08:38 EDT 2005

  Hi All,
I have made some changes in HostAP driver. If a station or AP is inactive for say 5 minutes it is automatically deleted from list that hostap keeps. this is provision provided by HostAP driver earlier. I just changed a code in order to reduce timing from 5 min to 1 sec. 

Consider a situation where WDS links are made between APs (say AP1 & AP2). AP1 is constantly listening to beacons from AP2 and updating its last received frame (last_rx)variable. I have written a timer which is invoked per second and compares current timing with last received beacon. If AP1 fails to listen beacons from AP2 in a second, it will automatically delete the entry of AP1 from its list by invoking timer handler (it's obivious).. 

while testing this code,I executed modified HostAP driver on AP1 & AP2. when I did "cardctl eject" on AP2, oops are generated and kernel panics.

The output of ksymoops is:
Unable to handle kernel paging request at virtual address c48656c0
*pde = 03da2067
Oops: 0000
CPU:    0
EIP:    0010:[<c48656c0>]    Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010286
eax: c02975b4  ebx: c11c7eec  ecx: c11c7ed0  edx: c02975b4
esi: c48656c0  edi: fffffffe  ebp: 00000046  esp: c0277f38
ds: 0018  es: 0018  ss: 0018
Process swapper (pid: 0, stackpage=c0277000)
Stack: c011ebd9 c11c7ed0 c0277f40 c0277f40 00000000 c028c730 fffffffe 00000046
      c011b362 c011b274 00000000 00000001 c011b083 c028c730 c028b900 00000000
      c023be38 c0277f98 c010857d c0105330 c0276000 c0276000 ffffe000 c010a9b8
Call Trace:    [<c011ebd9>] [<c011b362>] [<c011b274>] [<c011b083>] [<c010857d>]
  [<c0105330>] [<c010a9b8>] [<c0105330>] [<c0105353>] [<c01053f2>] [<c0105000>]
Code:  Bad EIP value.
>>EIP; c48656c0 <[hostap]prism2_rx_80211+160/500>  <=====
>>eax; c02975b4 <xtime+fb4/1514>
>>ebx; c11c7eec <_end+f10e6c/4548fe0>
>>ecx; c11c7ed0 <_end+f10e50/4548fe0>
>>edx; c02975b4 <xtime+fb4/1514>
>>esi; c48656c0 <[hostap]prism2_rx_80211+160/500>
>>esp; c0277f38 <init_task_union+1f38/f1f0>
Trace; c011ebd9 <del_timer+c39/e40>
Trace; c011b362 <tasklet_kill+92/c0>
Trace; c011b274 <__tasklet_hi_schedule+114/140>
Trace; c011b083 <do_softirq+93/a0>
Trace; c010857d <enable_irq+13d/140>
Trace; c0105330 <default_idle+0/e0>
Trace; c010a9b8 <disable_irq_nosync+1e18/3c70>
Trace; c0105330 <default_idle+0/e0>
Trace; c0105353 <default_idle+23/e0>
Trace; c01053f2 <default_idle+c2/e0>
Trace; c0105000 <empty_zero_page+1000/1310>
<0>Kernel panic: Aiee, killing interrupt handler!

What might go wrong with the code? 

Any clue would be appreciated. 

Thanks & regards,

-------------- next part --------------
An HTML attachment was scrubbed...

More information about the HostAP mailing list