From 67f390fe746ccc4d1dceac23f590eb1723cb7ff2 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Tue, 21 Jul 2009 02:48:41 +0000 Subject: Add explicit guards to all device mode tasks to ensure the device is connected and configured before running the task, to prevent any user tasks from locking up the main USB task if the device has not been properly configured. --- Demos/Device/LowLevel/CDC/CDC.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'Demos/Device/LowLevel/CDC') diff --git a/Demos/Device/LowLevel/CDC/CDC.c b/Demos/Device/LowLevel/CDC/CDC.c index ac0623a4d..d8263b11f 100644 --- a/Demos/Device/LowLevel/CDC/CDC.c +++ b/Demos/Device/LowLevel/CDC/CDC.c @@ -254,6 +254,10 @@ void CDC_Task(void) "Joystick Pressed\r\n", }; + /* Device must be connected and configured for the task to run */ + if (!(USB_IsConnected) || !(USB_ConfigurationNumber)) + return; + #if 0 /* NOTE: Here you can use the notification endpoint to send back line state changes to the host, for the special RS-232 * handshake signal lines (and some error states), via the CONTROL_LINE_IN_* masks and the following code: -- cgit v1.2.3