Fixed endless loop in the legacy keyboard driver (currently only used by consoled).

This actually fixes bug #1024.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20140 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2007-02-16 06:30:36 +00:00
parent 0b3fab2364
commit 5fbb5241c7
@@ -1,7 +1,7 @@
/* /*
** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. * Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
** Distributed under the terms of the NewOS License. * Distributed under the terms of the NewOS License.
*/ */
#include <KernelExport.h> #include <KernelExport.h>
@@ -250,7 +250,7 @@ handle_keyboard_interrupt(void *data)
} }
// #pragma mark - // #pragma mark - device hooks
static status_t static status_t
@@ -333,6 +333,8 @@ retry:
*_length = 0; *_length = 0;
return B_OK; return B_OK;
} }
if (status < B_OK)
return status;
// critical section // critical section
mutex_lock(&keyboard_read_mutex); mutex_lock(&keyboard_read_mutex);
@@ -403,8 +405,7 @@ device_hooks keyboard_hooks = {
}; };
// #pragma mark - // #pragma mark - driver hooks
/***** driver hooks *****/
status_t status_t