USB: ensure interrupts are disabled while getting LPC serial number
authorMichael Moon <triffid.hunter@gmail.com>
Tue, 15 Jan 2013 01:48:23 +0000 (12:48 +1100)
committerMichael Moon <triffid.hunter@gmail.com>
Tue, 15 Jan 2013 04:58:22 +0000 (15:58 +1100)
src/libs/USBDevice/USBDevice/USBHAL_LPC17.cpp

index 2bf3aab..436e0de 100644 (file)
@@ -510,6 +510,8 @@ uint32_t USBHAL::getSerialNumber(int length, uint32_t *buf) {
     typedef void (*IAP)(uint32_t*, uint32_t*);\r
     IAP iap = (IAP) IAP_LOCATION;\r
 \r
+    __disable_irq();\r
+\r
     command[0] = 58;\r
 //     iprintf("Getting Serial...\n");\r
     iap(command, result);\r
@@ -520,6 +522,9 @@ uint32_t USBHAL::getSerialNumber(int length, uint32_t *buf) {
             buf[i] = result[i + 1];\r
         }\r
     }\r
+\r
+    __enable_irq();\r
+\r
     return i;\r
 }\r
 \r