2.6.x kernels & PCI-to-PCMCIA bridges [again]

jar jar at pcuf.fi
Wed May 5 12:44:28 BST 2004


Pavel Roskin wrote:

> Do you kill cardmgr?  If I do "cardctl eject", I can remove the socket
> driver (yenta_socket in my case) without killing cardmgr, which doesn't
> seem right.  It confuses the kernel, but doesn't cause kernel panic for
> me.  If I restart cardmgr after that it fails to adjust resources.
> 
> You may want to describe the exact sequence of commands and post the stack
> trace.

I run e.g. "service pcmcia stop" script witch will first kill cardmgr 
and then unload modules. The stop case goes as below:

         echo -n "Shutting down PCMCIA services: "
         if [ -s /var/run/cardmgr.pid ] ; then
             PID=`cat /var/run/cardmgr.pid`
             kill $PID
             # Give cardmgr a few seconds to handle the signal
             for N in 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 ; do
                 kill -0 $PID 2>/dev/null || break
                 sleep 2
             done
         fi
         killall -q "CardBus Watcher"
         ######if grep -q "ds  " /proc/modules ; then
             /sbin/cardctl eject
             /sbin/rmmod ds
             /sbin/rmmod $PCIC 2>/dev/null || \
                 /sbin/rmmod yenta_socket 2>/dev/null
             /sbin/rmmod pcmcia_core
         ######fi
         echo "done."
         rm -f /var/lock/subsys/pcmcia
	# we do this because when we stop the service, the ide stop 			# script 
gets run before the card disappears
         /usr/sbin/updfstab
         EXITCODE=0
         ;;

The the kernel panic happen:
[root at gw1 etc]# May  2 15:03:40 gw1 kernel: wlan0: Deauthenticate all 
stations
May  2 15:03:40 gw1 kernel: wlan0: Deauthenticate all stations
May  2 15:03:40 gw1 arpwatch: pcap_loop: recvfrom: Network is down
May  2 15:03:40 gw1 arpwatch: pcap_loop: recvfrom: Network is down
May  2 15:03:40 gw1 kernel: device wlan0 left promiscuous mode
May  2 15:03:40 gw1 kernel: device wlan0 left promiscuous mode
May  2 15:03:41 gw1 kernel: hostap_cs: detach postponed, 'wlan0' still 
locked
May  2 15:03:41 gw1 kernel: hostap_cs: detach postponed, 'wlan0' still 
locked
May  2 15:03:41 gw1 kernel: divert: freeing divert_blk for wlan0
May  2 15:03:41 gw1 kernel: divert: freeing divert_blk for wlan0
May  2 15:03:41 gw1 kernel: hostap_cs: Driver unloaded
May  2 15:03:41 gw1 kernel: hostap_cs: Driver unloaded
May  2 15:03:41 gw1 kernel: hostap_crypt: unregistered algorithm 'NULL' 
(deinit)
May  2 15:03:41 gw1 kernel: hostap_crypt: unregistered algorithm 'NULL' 
(deinit)
May  2 15:03:41 gw1 cardmgr[1729]: exiting
May  2 15:03:41 gw1 cardmgr[1729]: exiting
Unable to handle kernel paging request at virtual address 6b6b6b6b
  printing eip:
6b6b6b6b
*pde = 00000000
Oops: 0000 [#1]
CPU:    0
EIP:    0060:[<6b6b6b6b>]    Not tainted
EFLAGS: 00010202   (2.6.5-1.339)
EIP is at 0x6b6b6b6b
eax: 6b6b6b6b   ebx: 6b6b6b6b   ecx: c331bee0   edx: c03b6fd0
esi: 6b6b6b6b   edi: c03374a0   ebp: c03b6fd0   esp: c03b6fc8
ds: 007b   es: 007b   ss: 0068
Process hotplug (pid: 2158, threadinfo=c03b6000 task=c36180b0)
Stack: c012720e c03b6fd0 c03b6fd0 c03b6fd0 c03b6fd8 00000011 c03db3a8 
0000000a
        00000000 c0122f5d c0a7ef10 00000046 c03b7000 c0108c41
Call Trace:
  [<c012720e>] run_timer_softirq+0x217/0x32b
  [<c0122f5d>] __do_softirq+0x35/0x73
  [<c0108c41>] do_softirq+0x46/0x4d
  =======================
  [<c010803d>] do_IRQ+0x2f5/0x301
  [<c02e8f28>] common_interrupt+0x18/0x20
  [<c0143d02>] check_poison_obj+0xa3/0x15b
  [<c016d8fd>] getname+0x19/0xb2
  [<c0145786>] kmem_cache_alloc+0x77/0x142
  [<c016d8fd>] getname+0x19/0xb2
  [<c015e11d>] sys_open+0xc/0x7d
  [<c02e8d37>] syscall_call+0x7/0xb

Code:  Bad EIP value.
  <0>Kernel panic: Fatal exception in interrupt
In interrupt handler - not syncing

Regards,

Jar



More information about the linux-pcmcia mailing list