sio_ite_8872_probe() bails out if it detects no-parallel (1S, 2S) or
unknown card.
It doesn't call release_region() on the previously allocated resource
though. This causes
(a) leak of the resource
(b) kernel oops when parport module is removed and /proc/ioports is read. This
is because the string that has been associated to the IO port region
is a static char array inside the already removed module.
Let's call release_region() properly before baling out.
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Acked-by: Niels de Vos <ndevos@redhat.com>
Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Alan Cox <alan@linux.intel.com>
Cc: Joe Krahn <krahn@niehs.nih.gov>
Signed-off-by: Andrew Morton <akpm@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
||
|---|---|---|
| .. | ||
| BUGS-parport | ||
| daisy.c | ||
| ieee1284.c | ||
| ieee1284_ops.c | ||
| Kconfig | ||
| Makefile | ||
| multiface.h | ||
| parport_amiga.c | ||
| parport_atari.c | ||
| parport_ax88796.c | ||
| parport_cs.c | ||
| parport_gsc.c | ||
| parport_gsc.h | ||
| parport_ip32.c | ||
| parport_mfc3.c | ||
| parport_pc.c | ||
| parport_serial.c | ||
| parport_sunbpp.c | ||
| probe.c | ||
| procfs.c | ||
| share.c | ||
| TODO-parport | ||