From 747681769b6c5a59009424120520de3fb36ca84b Mon Sep 17 00:00:00 2001 From: Robert Fisk Date: Mon, 24 Oct 2016 23:40:46 +1300 Subject: [PATCH] Fix yesterday's HID disconnect/reconnect fix --- Upstream/Src/upstream_hid.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Upstream/Src/upstream_hid.c b/Upstream/Src/upstream_hid.c index 21e1cf1..0784cae 100644 --- a/Upstream/Src/upstream_hid.c +++ b/Upstream/Src/upstream_hid.c @@ -215,14 +215,17 @@ static void Upstream_HID_ReceiveInterruptReportCallback(UpstreamPacketTypeDef* r } } - //Check if we need to send OUT data to the keyboard before requesting next Interrupt IN data - if (KeyboardOutDataState == KEYBOARD_OUT_STATE_DATA_READY) + if (GetReportLoopIsRunning) { - Upstream_HID_SendControlReport(); - } - else - { - Upstream_HID_ReceiveInterruptReport(); //Otherwise poll downstream again + //Check if we need to send OUT data to the keyboard before requesting next Interrupt IN data + if (KeyboardOutDataState == KEYBOARD_OUT_STATE_DATA_READY) + { + Upstream_HID_SendControlReport(); + } + else + { + Upstream_HID_ReceiveInterruptReport(); //Otherwise poll downstream again + } } }