This is an automated email from the ASF dual-hosted git repository. sjanc pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mynewt-nimble.git
commit 70966de48ca2dcd4239e05cf28ded7df322cb349 Author: Szymon Janc <[email protected]> AuthorDate: Fri Oct 9 16:38:19 2026 +0200 nimble/ll: Allow VS Set Data Length to keep current RX values ble_ll_conn_set_data_len() leaves RX values unchanged if 0 is passed for rx_octets or rx_time, but VS Set Data Length command rejected 0 values for RX parameters so this was never possible to use from HCI. Allow Rx_Octets and Rx_Time both set to 0 to leave current RX values unchanged. Non-zero values are still validated. Assisted-by: Claude:claude-opus-5-5 --- nimble/controller/src/ble_ll_hci_vs.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/nimble/controller/src/ble_ll_hci_vs.c b/nimble/controller/src/ble_ll_hci_vs.c index 2027ce61a..9906d4f10 100644 --- a/nimble/controller/src/ble_ll_hci_vs.c +++ b/nimble/controller/src/ble_ll_hci_vs.c @@ -289,8 +289,12 @@ ble_ll_hci_vs_set_data_len(uint16_t ocf, const uint8_t *cmdbuf, uint8_t cmdlen, rx_octets = le16toh(cmd->rx_octets); rx_time = le16toh(cmd->rx_time); - if (!ble_ll_hci_check_dle(tx_octets, tx_time) || - !ble_ll_hci_check_dle(rx_octets, rx_time)) { + if (!ble_ll_hci_check_dle(tx_octets, tx_time)) { + return BLE_ERR_INV_HCI_CMD_PARMS; + } + + /* Rx_Octets and Rx_Time both set to 0 leave current RX values unchanged */ + if ((rx_octets || rx_time) && !ble_ll_hci_check_dle(rx_octets, rx_time)) { return BLE_ERR_INV_HCI_CMD_PARMS; }
