parport_pc: after superio probing restore original register values
authorJens Rottmann <JRottmann@LiPPERTEmbedded.de>
Mon, 22 Jun 2009 15:51:49 +0000 (16:51 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 22 Jun 2009 18:28:59 +0000 (11:28 -0700)
commite2434dc1c19412639dd047a4d4eff8ed0e5d0d50
treeaa723d51dedc8c404205877c9885af09906e6d18
parent752a4787511bf7515f99609ff4ae52341b5bfcde
parport_pc: after superio probing restore original register values

CONFIG_PARPORT_PC_SUPERIO probes for various superio chips by writing
byte sequences to a set of different potential I/O ranges.  But the
probed ranges are not exclusive to parallel ports.  Some of our boards
just happen to have a watchdog in one of them.  Took us almost a week
to figure out why some distros reboot without warning after running
flawlessly for 3 hours.  For exactly 170 = 0xAA minutes, that is ...

Fixed by restoring original values after probing.  Also fixed too small
request_region() in detect_and_report_it87().

Signed-off-by: Jens Rottmann <JRottmann@LiPPERTEmbedded.de>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Cc: <stable@kernel.org>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/parport/parport_pc.c