diff -urN oldtree/drivers/pcmcia/cardbus.c newtree/drivers/pcmcia/cardbus.c
--- oldtree/drivers/pcmcia/cardbus.c	2006-09-24 17:03:56.000000000 -0400
+++ newtree/drivers/pcmcia/cardbus.c	2006-09-26 19:02:59.000000000 -0400
@@ -138,7 +138,7 @@
 
 	cs_dbg(s, 3, "read_cb_mem(%d, %#x, %u)\n", space, addr, len);
 
-	dev = pci_find_slot(s->cb_dev->subordinate->number, 0);
+	dev = pci_get_slot(s->cb_dev->subordinate, 0);
 	if (!dev)
 		goto fail;
 
@@ -152,6 +152,9 @@
 	}
 
 	res = dev->resource + space - 1;
+	
+	pci_dev_put(dev);
+	
 	if (!res->flags)
 		goto fail;
 
