PCMCIA/yenta and kapmd hangs in 2.3.41

From: Craig Kulesa (ckulesa@loke.as.arizona.edu)
Date: Mon Jan 31 2000 - 23:09:31 EST


Here's some information, relevant to the recent "Re: Keyboard is frozen
on boot of 2.3.41" thread in linux-kernel.

In short:
I am not having conflicts with keyboard or mouse in 2.3.41, but kapmd is
dead-on-arrival. I'll be glad to help test any code that might help.

Building PCMCIA and Cardbus support into the 2.3.41 kernel allows
detection of the TI 1251A PCI-Cardbus controller (Thinkpad 390E laptop),
and it allocates IRQ 5 to that purpose, but insertion of a 3Com
3CXFE575BT (10/100 Mb/s ethernet) card reliably locks the machine up
solid.

However...

More curiously, kernel PCMCIA seems to cripple kapmd (during a suspend
operation, the machine spews addresses to the console in an apparent
infinite loop while never actually suspending the laptop). Additionally,
applications that look at APM, like wmapm, cause kernel oopses and
segfault. 2.3.41 kapmd functions happily _without_ PCMCIA built
into the kernel.

I have included the relevant portions from /var/log/messages in the
hopes that they may be useful. Note: all PCMCIA client drivers are
compiled as modules, CONFIG_PCMCIA=y, CONFIG_CARDBUS=y, CONFIG_I82365 is
not set and CONFIG_TCIC is not set.

Jan 31 18:13:39 gromit kernel: Inspecting /boot/System.map-2.3.41
Jan 31 18:13:39 gromit kernel: Loaded 10407 symbols from /boot/System.map-2.3.41.
[...]
Jan 31 18:13:39 gromit kernel: apm: BIOS version 1.2 Flags 0x03 (Driver version 1.11)
[...]
Jan 31 18:13:39 gromit kernel: Linux PCMCIA Card Services 3.1.9
Jan 31 18:13:39 gromit kernel: options: [pci] [cardbus] [apm]
Jan 31 18:13:39 gromit kernel: Adding cardbus controller 0: Texas Instruments PCI1251
Jan 31 18:13:39 gromit kernel: Yenta IRQ list 0098, PCI irq5
Jan 31 18:13:39 gromit kernel: Socket status: 30000006
Jan 31 18:13:39 gromit kernel: Adding cardbus controller 1: Texas Instruments PCI1251 (#2)
Jan 31 18:13:39 gromit kernel: Yenta IRQ list 0098, PCI irq5
Jan 31 18:13:39 gromit kernel: Socket status: 30000006
[...]
Jan 31 18:13:40 gromit pcmcia: Starting PCMCIA services:
Jan 31 18:13:40 gromit pcmcia: cardmgr.
Jan 31 18:13:41 gromit cardmgr[271]: starting, version is 3.1.9
Jan 31 18:13:41 gromit rc: Starting pcmcia succeeded
Jan 31 18:13:41 gromit cardmgr[271]: watching 2 sockets
Jan 31 18:13:41 gromit kernel: cs: IO port probe 0x1000-0x17ff: excluding 0x1000-0x104f
Jan 31 18:13:41 gromit kernel: cs: IO port probe 0x0300-0x04ff: excluding 0x3b8-0x3df 0x4d0-0x4d7
Jan 31 18:13:41 gromit kernel: cs: IO port probe 0x0100-0x02f0: clean.
[...]
Jan 31 18:14:04 gromit kernel: general protection fault: e8fc
Jan 31 18:14:04 gromit kernel: CPU: 0
Jan 31 18:14:04 gromit kernel: EIP: 0050:[<00008b42>]
Jan 31 18:14:04 gromit kernel: EFLAGS: 00010046
Jan 31 18:14:04 gromit kernel: eax: 0000002a ebx: 00000001 ecx: 00000000 edx: 00000000
Jan 31 18:14:04 gromit kernel: esi: c01abdd0 edi: 000073d5 ebp: c270fea8 esp: c270fe98
Jan 31 18:14:04 gromit kernel: ds: 0058 es: 0000 ss: 0018
Jan 31 18:14:04 gromit kernel: Process wmapm (pid: 404, stackpage=c270f000)
Jan 31 18:14:04 gromit kernel: Stack: 34d600ff 00ff37d3 621d60a2 0000fea8 00000058 bdd000ff febc0050 00000001
Jan 31 18:14:04 gromit kernel: 530a0000 00000216 0048626d c2760000 c270ff2c c0108cad 00000010 c270ff2c
Jan 31 18:14:04 gromit kernel: 000000ff c26f0018 00000018 ffffffff c01abdd0 000000ff ffffffff 00000292
Jan 31 18:14:04 gromit kernel: Call Trace: [apm_bios_call+61/124] [error_table+1008/7072] [apm_get_power_status+42/104] [do_mmap_pgoff+832/952] [apm_get_info+76/252] [proc_file_read+264/584] [sys_read+194/228]
Jan 31 18:14:04 gromit kernel: [system_call+52/56]
Jan 31 18:14:04 gromit kernel: Code: <1>Unable to handle kernel paging request at virtual address 00008b42
Jan 31 18:14:04 gromit kernel: printing eip:
Jan 31 18:14:04 gromit kernel: c010c6ea
Jan 31 18:14:04 gromit kernel: *pde = 00000000
Jan 31 18:14:04 gromit kernel: Oops: 0000
Jan 31 18:14:04 gromit kernel: CPU: 0
Jan 31 18:14:04 gromit kernel: EIP: 0010:[show_registers+474/520]
Jan 31 18:14:04 gromit kernel: EFLAGS: 00010086
Jan 31 18:14:04 gromit kernel: eax: 00008b42 ebx: 0000002b ecx: c270fe64 edx: c3873f84
Jan 31 18:14:04 gromit kernel: esi: 00000000 edi: c2710000 ebp: c4000000 esp: c270fe18
Jan 31 18:14:04 gromit kernel: ds: 0018 es: 0018 ss: 0018
Jan 31 18:14:04 gromit kernel: Process wmapm (pid: 404, stackpage=c270f000)
Jan 31 18:14:04 gromit kernel: Stack: c270fe64 0000e8fc 000073d5 c270fea8 c4800000 c010c74f c270fe64 c01ac9c8
Jan 31 18:14:04 gromit kernel: c01aca9d 0000e8fc c010cc53 c01aca9d c270fe64 0000e8fc c270e000 c01abdd0
Jan 31 18:14:04 gromit kernel: c010c3d5 c270fe64 0000e8fc 00000001 00000000 00000000 c01abdd0 000073d5
Jan 31 18:14:04 gromit kernel: Call Trace: [<c4800000>] [die+55/68] [error_table+4072/7072] [error_table+4285/7072] [do_general_protection+103/112] [error_table+4285/7072] [error_table+1008/7072]
Jan 31 18:14:04 gromit kernel: [error_code+45/52] [error_table+1008/7072] [apm_bios_call+61/124] [error_table+1008/7072] [apm_get_power_status+42/104] [do_mmap_pgoff+832/952] [apm_get_info+76/252] [proc_file_read+264/584]
Jan 31 18:14:04 gromit kernel: [sys_read+194/228] [system_call+52/56]
Jan 31 18:14:04 gromit kernel: Code: 0f b6 04 06 50 68 c0 c9 1a c0 e8 cf a1 00 00 83 c4 08 46 83
[...]

*** NOTE... this is where I inserted the 3Com card ***

Jan 31 18:14:28 gromit cardmgr[271]: initializing socket 0
Jan 31 18:14:28 gromit cardmgr[271]: socket 0: 3Com 3CCFE575B/3CXFE575B Fast EtherLink XL
Jan 31 18:14:28 gromit kernel: cs: cb_alloc(bus 129): vendor 0x10b7, device 0x5157
Jan 31 18:14:28 gromit kernel: PCI: Enabling device 81:00.0 (0000 -> 0003)
Jan 31 18:14:28 gromit kernel: PCI: Assigned IRQ 0 to device 81:00.0 [PIIX]
Jan 31 18:14:28 gromit cardmgr[271]: executing: 'insmod /lib/modules/2.3.41/pcmcia/cb_enabler.o'
Jan 31 18:14:28 gromit cardmgr[271]: executing: 'insmod /lib/modules/2.3.41/pcmcia/3c575_cb.o'
Jan 31 18:14:28 gromit kernel: 3c59x.c:v0.99L 5/28/99 Donald Becker http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html
Jan 31 18:14:28 gromit kernel: vortex_attach(bus 129, function 0, device 5157)
Jan 31 18:14:28 gromit kernel: eth0: 3Com 3CCFE575 Cyclone CardBus at 0x1000, 00:00:00:00:00:00, IRQ 5
Jan 31 18:14:28 gromit kernel: eth0: CardBus functions mapped 10800080->c4029080
Jan 31 18:14:28 gromit kernel: 8K byte-wide RAM 5:3 Rx:Tx split, 10baseT interface.
Jan 31 18:14:28 gromit cardmgr[271]: executing: './network start eth0'

At this point, the machine was completely frozen.

It is relevant to note that both PCMCIA and APM play happily together in
kernels as late as 2.3.35, before the major PCI and Cardbus changes.

I'd be very glad to test any code anyone would like to apply to this
problem, and will look at the code myself by the weekend.

Craig Kulesa
ckulesa@loke.as.arizona.edu
=========================================================================

-
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 : Mon Feb 07 2000 - 21:00:05 EST