From 0090fbee6a57412b64d2179b92789da15bebf4b2 Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Tue, 21 Oct 2003 18:22:53 -0700 Subject: [PATCH] [PATCH] parport_pc not releasing all ioports From: John Mock If 'parport_pc' is compile as a module, it fails to properly return certain ioport resources after being removed. --- drivers/parport/parport_pc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/parport/parport_pc.c b/drivers/parport/parport_pc.c index b25d216de6256..d77c10a21539a 100644 --- a/drivers/parport/parport_pc.c +++ b/drivers/parport/parport_pc.c @@ -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)) { -- 2.53.0