summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2010-06-16 21:49:43 -0700
committerKeith Packard <keithp@keithp.com>2010-06-16 21:49:43 -0700
commit267923e56e22b3635a21f42ef77a3a36158bc273 (patch)
treea54ea6358d1a3b0c769846dd347e304665a16d66 /src
parent50ae347bf9de49ccfc92d26888f36e155fb406a3 (diff)
Add special code for USB panic's.
The USB system may panic if the hardware isn't ready for IN data when the driver thinks it should be. This adds a special panic code to make figuring this out easier. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src')
-rw-r--r--src/ao.h1
-rw-r--r--src/ao_usb.c2
2 files changed, 2 insertions, 1 deletions
diff --git a/src/ao.h b/src/ao.h
index 97cb75ae..a2dfadd0 100644
--- a/src/ao.h
+++ b/src/ao.h
@@ -110,6 +110,7 @@ ao_start_scheduler(void);
#define AO_PANIC_STDIO 7 /* Too many stdio handlers registered */
#define AO_PANIC_REBOOT 8 /* Reboot failed */
#define AO_PANIC_FLASH 9 /* Invalid flash part (or wrong blocksize) */
+#define AO_PANIC_USB 10 /* Trying to send USB packet while busy */
/* Stop the operating system, beeping and blinking the reason */
void
diff --git a/src/ao_usb.c b/src/ao_usb.c
index e4af8e45..d071fe6f 100644
--- a/src/ao_usb.c
+++ b/src/ao_usb.c
@@ -85,7 +85,7 @@ ao_usb_ep0_flush(void)
USBINDEX = 0;
cs0 = USBCS0;
if (cs0 & USBCS0_INPKT_RDY)
- ao_panic(0);
+ ao_panic(AO_PANIC_USB);
this_len = ao_usb_ep0_in_len;
if (this_len > AO_USB_CONTROL_SIZE)