From 6bbcabe0ccf7087c9754ebc17e4bded4d322eaa3 Mon Sep 17 00:00:00 2001 From: Stefan Kerkmann Date: Mon, 3 Oct 2022 18:23:45 +0200 Subject: [PATCH] [Core] Serial-protocol: always clear receive queue on main half of split keyboard (#18419) --- platforms/chibios/drivers/serial_protocol.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/platforms/chibios/drivers/serial_protocol.c b/platforms/chibios/drivers/serial_protocol.c index c95aed9885..ccaf73282d 100644 --- a/platforms/chibios/drivers/serial_protocol.c +++ b/platforms/chibios/drivers/serial_protocol.c @@ -102,15 +102,11 @@ static inline bool react_to_transaction(void) { * @return bool Indicates success of transaction. */ bool soft_serial_transaction(int index) { - bool result = initiate_transaction((uint8_t)index); + /* Clear the receive queue, to start with a clean slate. + * Parts of failed transactions or spurious bytes could still be in it. */ + serial_transport_driver_clear(); - if (unlikely(!result)) { - /* Clear the receive queue, to start with a clean slate. - * Parts of failed transactions or spurious bytes could still be in it. */ - serial_transport_driver_clear(); - } - - return result; + return initiate_transaction((uint8_t)index); } /**