diff options
Diffstat (limited to 'platforms/chibios/drivers/serial_protocol.c')
| -rw-r--r-- | platforms/chibios/drivers/serial_protocol.c | 12 | 
1 files 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);  }  /** | 
