From dae3ec5cba5c686e57e27a28e03e5cf514e56053 Mon Sep 17 00:00:00 2001 From: graynode Date: Thu, 23 Oct 2025 16:14:33 -0400 Subject: [PATCH] Fixed bug where it's possible for tx_credit to goe negative --- bumble/rfcomm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bumble/rfcomm.py b/bumble/rfcomm.py index 0983c773..afb6e21f 100644 --- a/bumble/rfcomm.py +++ b/bumble/rfcomm.py @@ -671,7 +671,7 @@ class DLC(utils.EventEmitter): def process_tx(self) -> None: # Send anything we can (or an empty frame if we need to send rx credits) rx_credits_needed = self.rx_credits_needed() - while (self.tx_buffer and self.tx_credits > 0) or rx_credits_needed > 0: + while (self.tx_buffer and self.tx_credits > 0) or (rx_credits_needed > 0 and self.tx_credit > 0): # Get the next chunk, up to MTU size if rx_credits_needed > 0: chunk = bytes([rx_credits_needed]) + self.tx_buffer[: self.mtu - 1]