X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=drivers%2Fpcmcia%2Fcardbus.c;h=2d7effe7990d9c67136a44617e31bed2290a7026;hb=fc9e8b4e275b6882cb537154c8fc7cde3692eea0;hp=3f6d51d11374063b0f3e0c86de1d75e23c1f3b34;hpb=c6a519d2aac024d8ca5658bddd78af474b274e4b;p=powerpc.git diff --git a/drivers/pcmcia/cardbus.c b/drivers/pcmcia/cardbus.c index 3f6d51d113..2d7effe799 100644 --- a/drivers/pcmcia/cardbus.c +++ b/drivers/pcmcia/cardbus.c @@ -138,7 +138,7 @@ int read_cb_mem(struct pcmcia_socket * s, int space, u_int addr, u_int len, void 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 @@ int read_cb_mem(struct pcmcia_socket * s, int space, u_int addr, u_int len, void } res = dev->resource + space - 1; + + pci_dev_put(dev); + if (!res->flags) goto fail;