mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-06-13 04:14:19 +00:00
Fixed possible deadlock in the CDC device driver if the USB connection is dropped while the CDC_REQ_SetLineEncoding control request is being processed by the stack (thanks to Jonathan Hudgins).
This commit is contained in:
parent
46d511c021
commit
2d98e5499b
@ -53,6 +53,8 @@
|
|||||||
* - Fixed inverted LED logic in the OLIMEX162 board LED driver
|
* - Fixed inverted LED logic in the OLIMEX162 board LED driver
|
||||||
* - Fixed incorrect reponse to GET STATUS requests in device mode if NO_DEVICE_SELF_POWER or NO_DEVICE_REMOTE_WAKEUP tokens are defined (thanks to Georg Glock)
|
* - Fixed incorrect reponse to GET STATUS requests in device mode if NO_DEVICE_SELF_POWER or NO_DEVICE_REMOTE_WAKEUP tokens are defined (thanks to Georg Glock)
|
||||||
* - Fixed inverted LED logic in the USB2AX board LED driver
|
* - Fixed inverted LED logic in the USB2AX board LED driver
|
||||||
|
* - Fixed possible deadlock in the CDC device driver if the USB connection is dropped while the CDC_REQ_SetLineEncoding control request is being processed by
|
||||||
|
* the stack (thanks to Jonathan Hudgins)
|
||||||
* - Library Applications:
|
* - Library Applications:
|
||||||
* - Fixed error in the AVRISP-MKII programmer when ISP mode is used at 64KHz (thanks to Ben R. Porter)
|
* - Fixed error in the AVRISP-MKII programmer when ISP mode is used at 64KHz (thanks to Ben R. Porter)
|
||||||
* - Fixed AVRISP-MKII programmer project failing to compile for the U4 chips when VTARGET_ADC_CHANNEL is defined to an invalid channel and NO_VTARGET_DETECT is
|
* - Fixed AVRISP-MKII programmer project failing to compile for the U4 chips when VTARGET_ADC_CHANNEL is defined to an invalid channel and NO_VTARGET_DETECT is
|
||||||
|
@ -69,8 +69,12 @@ void CDC_Device_ProcessControlRequest(USB_ClassInfo_CDC_Device_t* const CDCInter
|
|||||||
{
|
{
|
||||||
Endpoint_ClearSETUP();
|
Endpoint_ClearSETUP();
|
||||||
|
|
||||||
while (!(Endpoint_IsOUTReceived()));
|
while (!(Endpoint_IsOUTReceived()))
|
||||||
|
{
|
||||||
|
if (USB_DeviceState == DEVICE_STATE_Unattached)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
CDCInterfaceInfo->State.LineEncoding.BaudRateBPS = Endpoint_Read_32_LE();
|
CDCInterfaceInfo->State.LineEncoding.BaudRateBPS = Endpoint_Read_32_LE();
|
||||||
CDCInterfaceInfo->State.LineEncoding.CharFormat = Endpoint_Read_8();
|
CDCInterfaceInfo->State.LineEncoding.CharFormat = Endpoint_Read_8();
|
||||||
CDCInterfaceInfo->State.LineEncoding.ParityType = Endpoint_Read_8();
|
CDCInterfaceInfo->State.LineEncoding.ParityType = Endpoint_Read_8();
|
||||||
|
Loading…
Reference in New Issue
Block a user