fix USB driver a bit
authorNIIBE Yutaka <gniibe@fsij.org>
Mon, 18 Nov 2013 05:06:33 +0000 (14:06 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Mon, 18 Nov 2013 05:06:33 +0000 (14:06 +0900)
ChangeLog
src/usb_stm32f103.c

index e529bf4..322d7f0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-11-18  Niibe Yutaka  <gniibe@fsij.org>
+
+       * src/usb_stm32f103.c (usb_interrupt_handler): Change the order of
+       calling handler.
+
 2013-11-11  Niibe Yutaka  <gniibe@fsij.org>
 
        * Version 1.0.
 2013-11-11  Niibe Yutaka  <gniibe@fsij.org>
 
        * Version 1.0.
index 25c2808..89f9308 100644 (file)
@@ -390,9 +390,6 @@ usb_interrupt_handler (void)
 {
   uint16_t istr_value = st103_get_istr ();
 
 {
   uint16_t istr_value = st103_get_istr ();
 
-  if ((istr_value & ISTR_CTR))
-    usb_handle_transfer ();
-
   if ((istr_value & ISTR_RESET))
     {
       st103_set_istr (CLR_RESET);
   if ((istr_value & ISTR_RESET))
     {
       st103_set_istr (CLR_RESET);
@@ -404,6 +401,9 @@ usb_interrupt_handler (void)
 
   if ((istr_value & ISTR_ERR))
     st103_set_istr (CLR_ERR);
 
   if ((istr_value & ISTR_ERR))
     st103_set_istr (CLR_ERR);
+
+  if ((istr_value & ISTR_CTR))
+    usb_handle_transfer ();
 }
 
 static void handle_datastage_out (void)
 }
 
 static void handle_datastage_out (void)