|
@@ -13,6 +13,7 @@
|
|
|
#include <malloc.h>
|
|
|
#include <memalign.h>
|
|
|
#include <stdio_dev.h>
|
|
|
+#include <watchdog.h>
|
|
|
#include <asm/byteorder.h>
|
|
|
|
|
|
#include <usb.h>
|
|
@@ -387,8 +388,10 @@ static int usb_kbd_getc(struct stdio_dev *sdev)
|
|
|
usb_kbd_dev = (struct usb_device *)dev->priv;
|
|
|
data = usb_kbd_dev->privptr;
|
|
|
|
|
|
- while (data->usb_in_pointer == data->usb_out_pointer)
|
|
|
+ while (data->usb_in_pointer == data->usb_out_pointer) {
|
|
|
+ WATCHDOG_RESET();
|
|
|
usb_kbd_poll_for_event(usb_kbd_dev);
|
|
|
+ }
|
|
|
|
|
|
if (data->usb_out_pointer == USB_KBD_BUFFER_LEN - 1)
|
|
|
data->usb_out_pointer = 0;
|