diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/pcmcia/cardbus.c linux-2.5/drivers/pcmcia/cardbus.c
--- bk-linus/drivers/pcmcia/cardbus.c	2002-11-21 02:17:28.000000000 +0000
+++ linux-2.5/drivers/pcmcia/cardbus.c	2002-11-21 18:00:12.000000000 +0000
@@ -283,6 +283,8 @@ int cb_alloc(socket_info_t * s)
 		dev->hdr_type = hdr & 0x7f;
 
 		pci_setup_device(dev);
+		if (pci_enable_device(dev))
+			continue;
 
 		strcpy(dev->dev.bus_id, dev->slot_name);
 
@@ -300,7 +302,6 @@ int cb_alloc(socket_info_t * s)
 			pci_writeb(dev, PCI_INTERRUPT_LINE, irq);
 		}
 
-		pci_enable_device(dev); /* XXX check return */
 		device_register(&dev->dev);
 		pci_insert_device(dev, bus);
 	}
