Exact Kernel version: 2.5.50 Distribution: RedHat 8.0 Hardware Environment: Dell Latitude C840 Software Environment: Problem Description: kernel fails to recognize pcmcia cards, gives error: PCI: Device 03:00.0 not available because of resource collisions PCI: Device 03:00.1 not available because of resource collisions The problem is a code migration in the 2.5.50 patch. I've appended a works-for-me patch. Steps to reproduce: Before patch: lspci reports: 00:00.0 Host bridge: Intel Corp. 82845 845 (Brookdale) Chipset Host Bridge (rev 04) 00:01.0 PCI bridge: Intel Corp. 82845 845 (Brookdale) Chipset AGP Bridge (rev 04 ) 00:1d.0 USB Controller: Intel Corp. 82801CA/CAM USB (Hub #1) (rev 02) 00:1d.2 USB Controller: Intel Corp. 82801CA/CAM USB (Hub #3) (rev 02) 00:1e.0 PCI bridge: Intel Corp. 82801BAM/CAM PCI Bridge (rev 42) 00:1f.0 ISA bridge: Intel Corp. 82801CAM ISA Bridge (LPC) (rev 02) 00:1f.1 IDE interface: Intel Corp. 82801CAM IDE U100 (rev 02) 00:1f.5 Multimedia audio controller: Intel Corp. 82801CA/CAM AC'97 Audio (rev 02 ) 00:1f.6 Modem: Intel Corp. 82801CA/CAM AC'97 Modem (rev 02) 01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 440 Go] (re v a3) 02:00.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 78) 02:01.0 CardBus bridge: Texas Instruments PCI4451 PC card Cardbus Controller 02:01.1 CardBus bridge: Texas Instruments PCI4451 PC card Cardbus Controller 02:01.2 FireWire (IEEE 1394): Texas Instruments PCI4451 IEEE-1394 Controller 02:03.0 CardBus bridge: Texas Instruments PCI1410 PC card Cardbus Controller (re v 01) and it can't find my wireless card either. After the patch: 00:00.0 Host bridge: Intel Corp. 82845 845 (Brookdale) Chipset Host Bridge (rev 04) 00:01.0 PCI bridge: Intel Corp. 82845 845 (Brookdale) Chipset AGP Bridge (rev 04) 00:1d.0 USB Controller: Intel Corp. 82801CA/CAM USB (Hub #1) (rev 02) 00:1d.2 USB Controller: Intel Corp. 82801CA/CAM USB (Hub #3) (rev 02) 00:1e.0 PCI bridge: Intel Corp. 82801BAM/CAM PCI Bridge (rev 42) 00:1f.0 ISA bridge: Intel Corp. 82801CAM ISA Bridge (LPC) (rev 02) 00:1f.1 IDE interface: Intel Corp. 82801CAM IDE U100 (rev 02) 00:1f.5 Multimedia audio controller: Intel Corp. 82801CA/CAM AC'97 Audio (rev 02) 00:1f.6 Modem: Intel Corp. 82801CA/CAM AC'97 Modem (rev 02) 01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 440 Go] (rev a3) 02:00.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 78) 02:01.0 CardBus bridge: Texas Instruments PCI4451 PC card Cardbus Controller 02:01.1 CardBus bridge: Texas Instruments PCI4451 PC card Cardbus Controller 02:01.2 FireWire (IEEE 1394): Texas Instruments PCI4451 IEEE-1394 Controller 02:03.0 CardBus bridge: Texas Instruments PCI1410 PC card Cardbus Controller (rev 01) 03:00.0 Ethernet controller: Xircom Cardbus Ethernet 10/100 (rev 03) 03:00.1 Serial controller: Xircom Cardbus Ethernet + 56k Modem (rev 03) (the Xircom card it errored on)
Created attachment 39 [details] works-for-me fix for cardbus.c
Fix worked for me too on my Dell Latitude CPx750J (with same Xircom card) up to 2.5.52, but causes an oops on boot in 2.5.53.
... and in 2.5.54+fix the boot process needs the poweroff button since it loops forever.
The Oops after applying the patch (against 2.5.55): Unable to handle kernel NULL pointer dereference at virtual address 00000004 printing eip: cs: IO port probe 0x0c00-0x0cff: clean. cs: IO port probe 0x0800-0x08ff: clean. cs: IO port probe 0x0100-0x04ff: excluding 0x4d0-0x4d7 cs: IO port probe 0x1000-0x17ff: excluding 0x15e8-0x15ef cs: IO port probe 0x0a00-0x0aff: clean. c010e02e *pde = 00000000 Oops: 0000 CPU: 0 EIP: 0060:[<c010e02e>] Not tainted EFLAGS: 00010282 EIP is at .text.lock.sys_i386+0x1e/0x88 eax: 00000020 ebx: c571f44c ecx: 00000000 edx: c571f44c esi: 00002000 edi: c5e17840 ebp: c5defedc esp: c5defecc ds: 007b es: 007b ss: 0068 Process modprobe (pid: 310, threadinfo=c5dee000 task=c1125280) Stack: c571f44c c571f400 c5e17840 c571f400 c5deff08 c6a6d1c3 c571f44c 00002000 c5e177b4 c6a6f288 00000000 c571f44c c5e177ac c571f44c 02100388 c5deff2c c01d6983 c571f400 c6a6f210 ffffffed c6a6f288 c571f44c c571f400 c6a6f260 Call Trace: [<c6a6d1c3>] xircom_probe+0xff/0xfffaff53 [xircom_cb] [<c6a6f288>] xircom_ops+0x28/0xfffaddb7 [xircom_cb] [<c01d6983>] pci_match_device+0x47/0x64 [<c6a6f210>] xircom_pci_table+0x0/0xfffade07 [xircom_cb] [<c6a6f288>] xircom_ops+0x28/0xfffaddb7 [xircom_cb] [<c6a6f260>] xircom_ops+0x0/0xfffaddb7 [xircom_cb] [<c0218088>] device_bind_driver+0x38/0x64 [<c0218156>] device_attach+0x42/0x70 [<c6a6f288>] xircom_ops+0x28/0xfffaddb7 [xircom_cb] [<c6a6f288>] xircom_ops+0x28/0xfffaddb7 [xircom_cb] [<c0218413>] bus_remove_device+0x87/0xa4 [<c6a6f288>] xircom_ops+0x28/0xfffaddb7 [xircom_cb] [<c6a6f288>] xircom_ops+0x28/0xfffaddb7 [xircom_cb] [<c6a6f300>] +0x0/0xfffadd17 [xircom_cb] [<c6a6f2a8>] xircom_ops+0x48/0xfffaddb7 [xircom_cb] [<c021877a>] put_driver+0x36/0x3c [<c6a6f288>] xircom_ops+0x28/0xfffaddb7 [xircom_cb] [<c01d6a84>] pci_device_resume+0x44/0x54 [<c6a6f288>] xircom_ops+0x28/0xfffaddb7 [xircom_cb] [<c6a1d00d>] 0xc6a1d00d [<c6a6f260>] xircom_ops+0x0/0xfffaddb7 [xircom_cb] [<c012c9d6>] load_module+0x13a/0x1cc [<c0108d9b>] system_call+0x7/0xb Code: 8b 51 04 85 d2 77 09 75 05 83 39 fe 77 02 0c 01 8d 5e ff c1
This appears to have been fixed in 2.5.59.
Fix is confirmed in mainline tree. Therefore this bug is closed.