diff options
| author | Dean <Dean@d5102386-fcda-11dd-9fdb-3debd5008f28> | 2009-07-21 02:48:41 +0000 |
|---|---|---|
| committer | Dean <Dean@d5102386-fcda-11dd-9fdb-3debd5008f28> | 2009-07-21 02:48:41 +0000 |
| commit | 33f3ec44a4792d055ca4722a38b1e76d87cae5f0 (patch) | |
| tree | eafc8a4dcb64a038afcb16fcae8d48033dc74249 /Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.c | |
| parent | 718686d01b9773c5567ebd1949d8d67fbd71890f (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/LowLevel/RNDISEthernet/RNDISEthernet.c')
| -rw-r--r-- | Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.c b/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.c index d77d25b6..1c0e0304 100644 --- a/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.c +++ b/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.c @@ -284,6 +284,10 @@ void Ethernet_Task(void) outgoing frames should be loaded into the FrameOUT structure. Both structures can only hold a single
Ethernet frame at a time, so the FrameInBuffer bool is used to indicate when the buffers contain data. */
+ /* Device must be connected and configured for the task to run */
+ if (!(USB_IsConnected) || !(USB_ConfigurationNumber))
+ return;
+
/* Check if a frame has been written to the IN frame buffer */
if (FrameIN.FrameInBuffer)
{
|
