parport_pc: make sure to release IO ports after probing for IT87XX
Commit f63fd7e299
("parport_pc: detection
for SuperIO IT87XX POST") only released the IO port region on success,
not when the probe for the IT87XX chip failed.
That caused not only a reserved region to leak, but also caused an oops
when the driver module was unloaded and somebody tried to cat
/proc/ioports - because the string that was assigned to the IO port
region was a static string in the module virtual address area.
Reported-by: Lubos Lunak <l.lunak@suse.cz>
Cc: Jan Kara <jack@suse.cz>
Cc: Petr Cvek <petr.cvek@tul.cz>
Acked-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
e315c121a8
commit
4ed919014e
|
@ -1568,9 +1568,8 @@ static void __devinit detect_and_report_it87(void)
|
||||||
outb(r | 8, 0x2F);
|
outb(r | 8, 0x2F);
|
||||||
outb(0x02, 0x2E); /* Lock */
|
outb(0x02, 0x2E); /* Lock */
|
||||||
outb(0x02, 0x2F);
|
outb(0x02, 0x2F);
|
||||||
|
|
||||||
release_region(0x2e, 1);
|
|
||||||
}
|
}
|
||||||
|
release_region(0x2e, 1);
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_PARPORT_PC_SUPERIO */
|
#endif /* CONFIG_PARPORT_PC_SUPERIO */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue