mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-09-10 17:15:43 +00:00
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.
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user