diff options
| author | Keith Packard <keithp@keithp.com> | 2010-06-16 21:49:43 -0700 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2010-06-16 21:49:43 -0700 | 
| commit | 267923e56e22b3635a21f42ef77a3a36158bc273 (patch) | |
| tree | a54ea6358d1a3b0c769846dd347e304665a16d66 /src | |
| parent | 50ae347bf9de49ccfc92d26888f36e155fb406a3 (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.h | 1 | ||||
| -rw-r--r-- | src/ao_usb.c | 2 | 
2 files changed, 2 insertions, 1 deletions
@@ -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)  | 
