]> git.hungrycats.org Git - linux/commitdiff
[PATCH] parport_pc not releasing all ioports
authorAndrew Morton <akpm@osdl.org>
Wed, 22 Oct 2003 01:22:53 +0000 (18:22 -0700)
committerLinus Torvalds <torvalds@home.osdl.org>
Wed, 22 Oct 2003 01:22:53 +0000 (18:22 -0700)
From: John Mock <kd6pag@qsl.net>

If 'parport_pc' is compile as a module, it fails to properly return certain
ioport resources after being removed.

drivers/parport/parport_pc.c

index b25d216de6256230c3b34dbfe28b137038fccd78..d77c10a21539ab68a60d1f63501fd4a299091801 100644 (file)
@@ -2358,7 +2358,11 @@ struct parport *parport_pc_probe_port (unsigned long int base,
                release_region(base_hi, 3);
                ECR_res = NULL;
        }
-
+       /* Likewise for EEP ports */
+       if (EPP_res && (p->modes & PARPORT_MODE_EPP) == 0) {
+               release_region(base+3, 5);
+               EPP_res = NULL;
+       }
        if (p->irq != PARPORT_IRQ_NONE) {
                if (request_irq (p->irq, parport_pc_interrupt,
                                 0, p->name, p)) {