[Core] Serial-protocol: always clear receive queue on main half of split keyboard (#18419)
This commit is contained in:
parent
ca0c12847a
commit
6bbcabe0cc
@ -102,15 +102,11 @@ static inline bool react_to_transaction(void) {
|
|||||||
* @return bool Indicates success of transaction.
|
* @return bool Indicates success of transaction.
|
||||||
*/
|
*/
|
||||||
bool soft_serial_transaction(int index) {
|
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)) {
|
return 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();
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user