summary refs log tree commit diff
path: root/drivers
diff options
context:
space:
mode:
authorDenis Turischev <denis@compulab.co.il>2010-04-22 19:50:03 +0300
committerWim Van Sebroeck <wim@iguana.be>2010-04-26 18:17:34 +0000
commitfcf1dd7e68ceb6420478c8d89d35b4745d0b2f42 (patch)
treeb071ddef19db8c4734f6617236e3034bd731e303 /drivers
parent86913315de5ed13debd1566dfea15c4179b1f0c0 (diff)
downloadlinux-fcf1dd7e68ceb6420478c8d89d35b4745d0b2f42.tar.gz
watchdog: sbc_fitpc2_wdt: fixed I/O operations order
There are fitpc2 compatible boards that hang with existent i/o
operations order. Solution is to switch between writing to data
and command ports.

Signed-off-by: Denis Turischev <denis@compulab.co.il>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>

Diffstat (limited to 'drivers')
-rw-r--r--drivers/watchdog/sbc_fitpc2_wdt.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/watchdog/sbc_fitpc2_wdt.c b/drivers/watchdog/sbc_fitpc2_wdt.c
index 8d44c9b6fb5b..2e44dd4e7c1b 100644
--- a/drivers/watchdog/sbc_fitpc2_wdt.c
+++ b/drivers/watchdog/sbc_fitpc2_wdt.c
@@ -45,10 +45,10 @@ static DEFINE_SPINLOCK(wdt_lock);
 
 static void wdt_send_data(unsigned char command, unsigned char data)
 {
-	outb(command, COMMAND_PORT);
-	msleep(100);
 	outb(data, DATA_PORT);
 	msleep(200);
+	outb(command, COMMAND_PORT);
+	msleep(100);
 }
 
 static void wdt_enable(void)