X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=drivers%2Fpcmcia%2Fcardbus.c;h=a1bd763b4e336e94b277a6fe650adf2107044807;hb=f60d89108f3481ca11672b82cf7e67171e050ce4;hp=3f6d51d11374063b0f3e0c86de1d75e23c1f3b34;hpb=c6a519d2aac024d8ca5658bddd78af474b274e4b;p=linux-2.6-omap-h63xx.git diff --git a/drivers/pcmcia/cardbus.c b/drivers/pcmcia/cardbus.c index 3f6d51d1137..a1bd763b4e3 100644 --- a/drivers/pcmcia/cardbus.c +++ b/drivers/pcmcia/cardbus.c @@ -40,8 +40,6 @@ /*====================================================================*/ -#define FIND_FIRST_BIT(n) ((n) - ((n) & ((n)-1))) - /* Offsets in the Expansion ROM Image Header */ #define ROM_SIGNATURE 0x0000 /* 2 bytes */ #define ROM_DATA_PTR 0x0018 /* 2 bytes */ @@ -138,7 +136,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 +150,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;