Fix for Frauchekey
authorNIIBE Yutaka <gniibe@fsij.org>
Tue, 31 May 2016 07:17:43 +0000 (16:17 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Tue, 31 May 2016 07:17:43 +0000 (16:17 +0900)
ChangeLog
src/main.c

index b198c07..4fcbbef 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2016-05-31  NIIBE Yutaka  <gniibe@fsij.org>
 
+       * src/main.c (main): Don't call fraucheky_main until configured.
+
        * chopstx: Update to 0.12.
 
        * src/main.c (usb_cb_get_descriptor): sys_board_name is only
index 89b253c..06f6b32 100644 (file)
@@ -937,14 +937,18 @@ main (int argc, char **argv)
   if (fraucheky_enabled ())
     {
     go_fraucheky:
+      bDeviceState = UNCONNECTED;
       running_neug = 0;
       usb_thd = chopstx_create (PRIO_USB, __stackaddr_usb, __stacksize_usb,
                                usb_intr, NULL);
+      while (bDeviceState != CONFIGURED)
+       chopstx_usec_wait (250*1000);
       set_led (1);
       fraucheky_main ();
       chopstx_cancel (usb_thd);
       chopstx_join (usb_thd, NULL);
       usb_lld_shutdown ();
+      bDeviceState = UNCONNECTED;
     }
 
   running_neug = 1;