From 1f5cd6d7dcbd18f2b647631600df13a0f6d64d25 Mon Sep 17 00:00:00 2001 From: tmk Date: Tue, 11 Jan 2011 21:30:35 +0900 Subject: [PATCH] FIX: error handling in ps2.c --- ps2.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ps2.c b/ps2.c index adb425ae33..a388b74892 100644 --- a/ps2.c +++ b/ps2.c @@ -104,9 +104,9 @@ uint8_t ps2_host_send(uint8_t data) /* request to send */ clock_lo(); - data_lo(); _delay_us(100); /* start bit [1] */ + data_lo(); clock_hi(); WAIT(clock_lo, 15000, 1); /* data [2-9] */ @@ -137,6 +137,9 @@ uint8_t ps2_host_send(uint8_t data) return 1; ERROR: + /* inhibit device to send */ + data_hi(); + clock_lo(); return 0; } @@ -187,6 +190,9 @@ uint8_t ps2_host_recv(void) return data; ERROR: + /* inhibit device to send */ + data_hi(); + clock_lo(); return 0; }