[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[tyndur-devel] [PATCH] kbc: Maus-Initialisierung mit p/v schützen



! kbc: Der Maustreiber hat während seiner Initialisierung leider ständig das
  Race mit dem Tastaturtreiber verloren. Und der hat dann der Maus die Daten
  geklaut, so dass der Maustreiber in ein Timeout gerannt ist, weil er auf
  genau diese Daten gewartet hat.

Signed-off-by: Kevin Wolf <kevin@xxxxxxxxxx>
---
 src/modules/kbc/mouse.c |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/modules/kbc/mouse.c b/src/modules/kbc/mouse.c
index 32c4e60..8c07e8f 100644
--- a/src/modules/kbc/mouse.c
+++ b/src/modules/kbc/mouse.c
@@ -120,11 +120,13 @@ uint8_t mouse_read()
 void mouse_install()
 {
     uint8_t _status;
-    
+
+    p();
+
     //Mauscontroller aktivieren
     mouse_wait(1);
     outb(0x64, 0xA8);
-    
+
     //Interrupts aktivieren
     mouse_wait(1);
     outb(0x64, 0x20);
@@ -134,15 +136,16 @@ void mouse_install()
     outb(0x64, 0x60);
     mouse_wait(1);
     outb(0x60, _status);
-    
+
     //Standardeinstellungen der Maus auswählen
     mouse_write(0xF6);
     mouse_read();
-    
+
     //Maus aktivieren
     mouse_write(0xF4);
     mouse_read();
-    
+
+    v();
     mouse_cycle = 0;
 }
 
-- 
1.7.1