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 files changed, 5 insertions(+), 1 deletion(-) diff -puN drivers/parport/parport_pc.c~parport_pc-resource-release-fix drivers/parport/parport_pc.c --- 25/drivers/parport/parport_pc.c~parport_pc-resource-release-fix 2003-10-18 17:33:37.000000000 -0700 +++ 25-akpm/drivers/parport/parport_pc.c 2003-10-18 17:33:37.000000000 -0700 @@ -2358,7 +2358,11 @@ struct parport *parport_pc_probe_port (u 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)) { _