aboutsummaryrefslogtreecommitdiff
path: root/Demos/Device/Incomplete
diff options
context:
space:
mode:
authorDean <Dean@d5102386-fcda-11dd-9fdb-3debd5008f28>2009-07-21 02:48:41 +0000
committerDean <Dean@d5102386-fcda-11dd-9fdb-3debd5008f28>2009-07-21 02:48:41 +0000
commit33f3ec44a4792d055ca4722a38b1e76d87cae5f0 (patch)
treeeafc8a4dcb64a038afcb16fcae8d48033dc74249 /Demos/Device/Incomplete
parent718686d01b9773c5567ebd1949d8d67fbd71890f (diff)
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.
git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@673 d5102386-fcda-11dd-9fdb-3debd5008f28
Diffstat (limited to 'Demos/Device/Incomplete')
-rw-r--r--Demos/Device/Incomplete/Sideshow/Sideshow.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/Demos/Device/Incomplete/Sideshow/Sideshow.c b/Demos/Device/Incomplete/Sideshow/Sideshow.c
index 41e36cc7..cc8bd51c 100644
--- a/Demos/Device/Incomplete/Sideshow/Sideshow.c
+++ b/Demos/Device/Incomplete/Sideshow/Sideshow.c
@@ -141,17 +141,17 @@ void EVENT_USB_UnhandledControlPacket(void)
void SideShow_Task(void)
{
- /* Check if the USB System is connected to a Host */
- if (USB_IsConnected)
+ /* Device must be connected and configured for the task to run */
+ if (!(USB_IsConnected) || !(USB_ConfigurationNumber))
+ return;
+
+ /* Select the SideShow data out endpoint */
+ Endpoint_SelectEndpoint(SIDESHOW_OUT_EPNUM);
+
+ /* Check to see if a new SideShow message has been received */
+ if (Endpoint_IsReadWriteAllowed())
{
- /* Select the SideShow data out endpoint */
- Endpoint_SelectEndpoint(SIDESHOW_OUT_EPNUM);
-
- /* Check to see if a new SideShow message has been received */
- if (Endpoint_IsReadWriteAllowed())
- {
- /* Process the received SideShow message */
- Sideshow_ProcessCommandPacket();
- }
+ /* Process the received SideShow message */
+ Sideshow_ProcessCommandPacket();
}
}