summaryrefslogtreecommitdiffstats
path: root/app/kvm.c
diff options
context:
space:
mode:
Diffstat (limited to 'app/kvm.c')
-rw-r--r--app/kvm.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/app/kvm.c b/app/kvm.c
index ab27bb7..ebdd282 100644
--- a/app/kvm.c
+++ b/app/kvm.c
@@ -31,7 +31,19 @@ kvm_dispatch (void)
led_set(GPIO8);
else
led_set(GPIO9);
- usbd_ep_write_packet (usbd_dev, endpoint, buf, len);
+
+ if (endpoint==0x84) {
+ SET_REG(USB_CNTR_REG, USB_CNTR_RESETM | USB_CNTR_CTRM | USB_CNTR_SUSPM | USB_CNTR_WKUPM | USB_CNTR_RESUME);
+ {
+ int i;
+ for (i = 0; i < 0x80000; i++)
+ __asm__ ("nop");
+ }
+
+ SET_REG(USB_CNTR_REG, USB_CNTR_RESETM | USB_CNTR_CTRM | USB_CNTR_SUSPM | USB_CNTR_WKUPM);
+ } else {
+ usbd_ep_write_packet (usbd_dev, endpoint, buf, len);
+ }
}
}