[bug-pcmcia] machine hangs during boot with linksys cardbus etherfast 10/100 (PCMPC200)

From: David Ford (david@kalifornia.com)
Date: Mon Apr 24 2000 - 22:06:09 EST


kernel pre6-5, 32bit linksys in socket 0.
(side note: the ambicom does the same as the linksys, they both use the
tulip driver)
-------

Linux PCMCIA Card Services 3.1.11
  options: [pci] [cardbus] [pm]
Adding cardbus controller 0: Ricoh Co Ltd RL5c478 (#2)
PCI: No IRQ known for interrupt pin B of device 00:03.1.

( machine hangs here until the card is ejected, then it continues )

there is no keyboard response until eject.

(eject)
Yenta IRQ list 0898, PCI irq0
Socket status: 30000866
Adding cardbus controller 1: Ricoh Co Ltd RL5c478
PCI: No IRQ known for interrupt pin A of device 00:03.0.
Yenta IRQ list 0898, PCI irq0
Socket status: 30000046
Intel PCIC probe: not found.

... and the machine continues.

put the card back in and the machine hangs..permanently

--------------------

if i start the laptop with the card in socket #1, here's what happens:

Linux PCMCIA Card Services 3.1.11
  options: [pci] [cardbus] [pm]
Adding cardbus controller 0: Ricoh Co Ltd RL5c478 (#2)
PCI: No IRQ known for interrupt pin B of device 00:03.1.
Yenta IRQ list 0898, PCI irq0
Socket status: 30000046
Adding cardbus controller 1: Ricoh Co Ltd RL5c478
PCI: No IRQ known for interrupt pin A of device 00:03.0.
Yenta IRQ list 0c98, PCI irq0
Socket status: 30000860
Intel PCIC probe: not found.
.....
cs: cb_alloc(bus 2): vendor 0x1011, device 0x0019
PCI: Enabling device 02:00.0 (0000 -> 0003)
Linux Tulip driver version 0.9.4.3 (Apr 14, 2000)
alloc_skb called nonatomically from interrupt c02045e1
Unable to handle kernel NULL pointer dereference at virtual address
00000000
 printing eip:
c01fe016
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[<c01fe016>]
EFLAGS: 00010286
eax: 0000003a ebx: cbf08000 ecx: c02b493c edx: c02b493c
esi: c02cae80 edi: 00000007 ebp: 00000003 esp: c02d1adc
ds: 0018 es: 0018 ss: 0018
Process swapper (pid: 0, stackpage=c02d1000)
Stack: c02951a0 c02045e1 cbf08000 c02cae80 cbf084fc c02045e1 00000f50
00000007
       cbf08000 c0204a8e 00000010 cbf08000 ffffffff c02015e8 c02cae80
00000005
       cbf08000 cbf08000 00000001 c01a5a6c c01a59e1 cbf08000 cbf13400
c02c55e0
Call Trace: [<c02951a0>] [<c02045e1>] [<c02045e1>] [<c0204a8e>]
[<c02015e8>] [<c01a5a6c>] [<c01a59e1>]
       [<c01a5a09>] [<c0277931>] [<c01a5a6c>] [<c01a4cf4>] [<c02a57a0>]
[<c0156632>] [<c024e5f7>] [<c01
       [<c024e5f7>] [<c024937e>] [<c01561d3>] [<c0156620>] [<c01d3160>]
[<c02898e5>] [<c01d2465>] [<c01
       [<c01dd48d>] [<c01d500f>] [<c01d4f90>] [<c011f5b9>] [<c011c827>]
[<c011c784>] [<c011c682>] [<c01
       [<c0110680>] [<cc802030>] [<c0108a60>] [<c010adb8>] [<c0110680>]
[<cc802030>] [<c0108a60>] [<c01
       [<c0110680>] [<c0108a60>] [<c0108ac6>] [<c0105000>] [<c010018d>]
Code: c7 05 00 00 00 00 00 00 00 00 83 c4 08 83 e7 fe be 60 49 37
Aiee, killing interrupt handler
Kernel panic: Attempted to kill the idle task!
In interrupt handler - not syncing

>>EIP; c01fe016 <alloc_skb+42/16c> <=====
Trace; c02951a0 <clas_info+4c2c/6a0c>
Trace; c02045e1 <rtmsg_ifinfo+d/74>
Trace; c02045e1 <rtmsg_ifinfo+d/74>
Trace; c0204a8e <rtnetlink_event+32/38>
Trace; c02015e8 <register_netdevice+164/17c>
Trace; c01a5a6c <ether_setup+0/8c>
Trace; c01a59e1 <init_netdev+75/84>
Trace; c01a5a09 <init_etherdev+19/20>
Trace; c0277931 <ethernet_polynomial+739/c98>
Trace; c01a5a6c <ether_setup+0/8c>
Trace; c01a4cf4 <tulip_init_one+9c/ba8>
Trace; c02a57a0 <nulldevname.1155+4ca6/4ea6>
Trace; c0156632 <free_proc_entry+6/30>
Trace; c024e5f7 <stext_lock+3b07/40f0>
Trace; c024e5f7 <stext_lock+3b07/40f0>
Trace; c024937e <vsprintf+336/364>
Trace; c01561d3 <proc_register+f/84>
Trace; c0156620 <create_proc_entry+10c/118>
Trace; c01d3160 <pci_proc_attach_device+68/98>
Trace; c02898e5 <invalid_magic+11a5/25a0>
Trace; c01d2465 <pci_announce_device+2d/40>
Trace; c01dd48d <cb_alloc+211/24c>
Trace; c01d500f <unreset_socket+7f/114>
Trace; c01d4f90 <unreset_socket+0/114>
Trace; c011f5b9 <timer_bh+235/284>
Trace; c011c827 <bh_action+1b/60>
Trace; c011c784 <tasklet_hi_action+38/60>
Trace; c011c682 <do_softirq+52/74>
Trace; c0110680 <acpi_idle+0/22c>
Trace; cc802030 <END_OF_CODE+c47d500/????>
Trace; c0108a60 <default_idle+0/28>
Trace; c010adb8 <ret_from_intr+0/20>
Trace; c0110680 <acpi_idle+0/22c>
Trace; cc802030 <END_OF_CODE+c47d500/????>
Trace; c0108a60 <default_idle+0/28>
Trace; c0110680 <acpi_idle+0/22c>
Trace; c0108a60 <default_idle+0/28>
Trace; c0108ac6 <cpu_idle+3e/54>
Trace; c0105000 <empty_bad_page+0/1000>
Trace; c010018d <L6+0/2>
Code; c01fe016 <alloc_skb+42/16c>
00000000 <_EIP>:
Code; c01fe016 <alloc_skb+42/16c> <=====
   0: c7 05 00 00 00 00 00 movl $0x0,0x0 <=====
Code; c01fe01d <alloc_skb+49/16c>
   7: 00 00 00
Code; c01fe020 <alloc_skb+4c/16c>
   a: 83 c4 08 add $0x8,%esp
Code; c01fe023 <alloc_skb+4f/16c>
   d: 83 e7 fe and $0xfffffffe,%edi
Code; c01fe026 <alloc_skb+52/16c>
  10: be 60 49 37 00 mov $0x374960,%esi

If I insert the card (into socket #1) after boot, I get the following
oops:

Unable to handle kernel NULL pointer dereference at virtual address
00000000
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[<c01fe016>]
EFLAGS: 00010286
eax: 0000003a ebx: c08f4800 ecx: c02b493c edx: c02b493c
esi: c02cae80 edi: 00000007 ebp: 00000003 esp: c02d1adc
ds: 0018 es: 0018 ss: 0018
Process swapper (pid: 0, stackpage=c02d1000)
Stack: c02951a0 c02045e1 c08f4800 c02cae80 c08f4cfc c02045e1 00000f50
00000007
       c08f4800 c0204a8e 00000010 c08f4800 ffffffff c02015e8 c02cae80
00000005
       c08f4800 c08f4800 00000001 c01a5a6c c01a59e1 c08f4800 c636bc00
c02c55e0
Call Trace: [<c02951a0>] [<c02045e1>] [<c02045e1>] [<c0204a8e>]
[<c02015e8>] [<c01a5a6c>] [<c01a59e1>]
       [<c01a5a09>] [<c0277931>] [<c01a5a6c>] [<c01a4cf4>] [<c02a57a0>]
[<c0156632>] [<c024e5f7>] [<c01
       [<c024e5f7>] [<c024937e>] [<c01561d3>] [<c0156620>] [<c01d3160>]
[<c02898e5>] [<c01d2465>] [<c01
       [<c01dd48d>] [<c01d500f>] [<c01d4f90>] [<c011f5b9>] [<c011c827>]
[<c011c784>] [<c011c682>] [<c01
       [<c0110680>] [<cc802030>] [<c0108a60>] [<c010adb8>] [<c0110680>]
[<cc802030>] [<c0108a60>] [<c01
       [<c0110680>] [<c0108a60>] [<c0108ac6>] [<c0105000>] [<c010018d>]
Code: c7 05 00 00 00 00 00 00 00 00 83 c4 08 83 e7 fe be 60 49 37
Aiee, killing interrupt handler
Kernel panic: Attempted to kill the idle task!
In interrupt handler - not syncing
>>EIP; c01fe016 <alloc_skb+42/16c> <=====
Trace; c02951a0 <clas_info+4c2c/6a0c>
Trace; c02045e1 <rtmsg_ifinfo+d/74>
Trace; c02045e1 <rtmsg_ifinfo+d/74>
Trace; c0204a8e <rtnetlink_event+32/38>
Trace; c02015e8 <register_netdevice+164/17c>
Trace; c01a5a6c <ether_setup+0/8c>
Trace; c01a59e1 <init_netdev+75/84>
Trace; c01a5a09 <init_etherdev+19/20>
Trace; c0277931 <ethernet_polynomial+739/c98>
Trace; c01a5a6c <ether_setup+0/8c>
Trace; c01a4cf4 <tulip_init_one+9c/ba8>
Trace; c02a57a0 <nulldevname.1155+4ca6/4ea6>
Trace; c0156632 <free_proc_entry+6/30>
Trace; c024e5f7 <stext_lock+3b07/40f0>
Trace; c024e5f7 <stext_lock+3b07/40f0>
Trace; c024937e <vsprintf+336/364>
Trace; c01561d3 <proc_register+f/84>
Trace; c0156620 <create_proc_entry+10c/118>
Trace; c01d3160 <pci_proc_attach_device+68/98>
Trace; c02898e5 <invalid_magic+11a5/25a0>
Trace; c01d2465 <pci_announce_device+2d/40>
Trace; c01dd48d <cb_alloc+211/24c>
Trace; c01d500f <unreset_socket+7f/114>
Trace; c01d4f90 <unreset_socket+0/114>
Trace; c011f5b9 <timer_bh+235/284>
Trace; c011c827 <bh_action+1b/60>
Trace; c011c784 <tasklet_hi_action+38/60>
Trace; c011c682 <do_softirq+52/74>
Trace; c0110680 <acpi_idle+0/22c>
Trace; cc802030 <END_OF_CODE+c47d500/????>
Trace; c0108a60 <default_idle+0/28>
Trace; c010adb8 <ret_from_intr+0/20>
Trace; c0110680 <acpi_idle+0/22c>
Trace; cc802030 <END_OF_CODE+c47d500/????>
Trace; c0108a60 <default_idle+0/28>
Trace; c0110680 <acpi_idle+0/22c>
Trace; c0108a60 <default_idle+0/28>
Trace; c0108ac6 <cpu_idle+3e/54>
Trace; c0105000 <empty_bad_page+0/1000>
Trace; c010018d <L6+0/2>
Code; c01fe016 <alloc_skb+42/16c>
00000000 <_EIP>:
Code; c01fe016 <alloc_skb+42/16c> <=====
   0: c7 05 00 00 00 00 00 movl $0x0,0x0 <=====
Code; c01fe01d <alloc_skb+49/16c>
   7: 00 00 00
Code; c01fe020 <alloc_skb+4c/16c>
   a: 83 c4 08 add $0x8,%esp
Code; c01fe023 <alloc_skb+4f/16c>
   d: 83 e7 fe and $0xfffffffe,%edi
Code; c01fe026 <alloc_skb+52/16c>
  10: be 60 49 37 00 mov $0x374960,%esi

the tulip based cards simply aren't usable.

-d

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Apr 30 2000 - 21:00:08 EST