diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/pcmcia/tcic.c linux-2.5/drivers/pcmcia/tcic.c --- bk-linus/drivers/pcmcia/tcic.c 2002-11-21 02:17:31.000000000 +0000 +++ linux-2.5/drivers/pcmcia/tcic.c 2002-11-21 18:00:14.000000000 +0000 @@ -394,7 +394,11 @@ static int __init init_tcic(void) printk(KERN_INFO "Databook TCIC-2 PCMCIA probe: "); sock = 0; - if (check_region(tcic_base, 16) == 0) { + if (!request_region(tcic_base, 16, "tcic-2")) { + printk("could not allocate ports,\n "); + return -ENODEV; + } + else { tcic_setw(TCIC_ADDR, 0); if (tcic_getw(TCIC_ADDR) == 0) { tcic_setw(TCIC_ADDR, 0xc3a5); @@ -410,16 +414,13 @@ static int __init init_tcic(void) if (tcic_getw(TCIC_ADDR) == 0xc3a5) sock = 2; } } - } else - printk("could not allocate ports, "); - + } if (sock == 0) { printk("not found.\n"); + release_region(tcic_base, 16); return -ENODEV; } - request_region(tcic_base, 16, "tcic-2"); - sockets = 0; for (i = 0; i < sock; i++) { if ((i == ignore) || is_active(i)) continue;