Skip to content

Conversation

@HaavardRei
Copy link
Contributor

Pulls various bugfixes for 3.1

HaavardRei and others added 7 commits August 5, 2025 10:14
Updates the LE legacy pairing procedure as a result of errata ES-24491.
New part:
If the initiating device receives an LP_CONFIRM_R value that is equal to
the LP_CONFIRM_I value, the pairing process shall be aborted and fail
with "Confirm Value Failed" as reason.

Signed-off-by: Håvard Reierstad <[email protected]>
(cherry picked from commit 2a8118c)
Signed-off-by: Håvard Reierstad <[email protected]>
…d Public Key

Core Specification 6.1 clarified exptected erro code in case peer
sending invalid Public Key. In case pairing is aborted during or
immediately after Public Key Exchange phase has completed (which is
the case here) expected reason code is set to "DHKey Check Failed".

This was affecting SM/CEN/KDU/BI-04-C and SM/PER/KDU/BI-04-C
qualification test cases.

Signed-off-by: Szymon Janc <[email protected]>
(cherry picked from commit 9b27a47)
Signed-off-by: Håvard Reierstad <[email protected]>
…de-svc userdata

- Issue: There is a bus-fault while accessing empty userdata structure
  pointer if application does not include any include service
  userdata instance (which consist of UUID list of included service)
  but service array has defined dummy entry for it assumed to be
  overridden by app during initial flow.
- For example, the issue has happened in case of tmap-central sample
 without "CONFIG_BT_OTS" support. there are some MCS attributes
 dependent on OTS service because of that
 "BT_GATT_INCLUDE_SERVICE(NULL)" entry is added as part of service
 definition. The given entry does not have userdata handler defined
 and is expecting to be overriden by the app if it will be included.
 During "bt_mcs_init()" call, "mcs.attrs[i].user_data" is not
 populated with any attr-instance pointer. This makes CPU to access
 null-address during reading local-database include-service attribute
 which was not provided by the app but the include-service entry was
 added to the db.
- Fix: Adding condition to check if user-data has null address, and
 returning back to avoid any hard-faults.

Signed-off-by: Nirav Agrawal <[email protected]>
(cherry picked from commit 5a8189b)
Signed-off-by: Håvard Reierstad <[email protected]>
The implementation used BT_L2CAP_ECRED_MIN_MTU to check the lower limits
of both MTU and MPS, instead of BT_L2CAP_ECRED_MIN_MPS for MPS. While
these are the same here, confusion may arise. This commit fixes the
confusion.

Signed-off-by: Håvard Reierstad <[email protected]>
(cherry picked from commit d989188)
Signed-off-by: Håvard Reierstad <[email protected]>
Adds a missing requirement from Core Spec V6.0 Vol 3.A chapters 10.1
and 10.2 to ignore L2CAP_FLOW_CONTROL_CREDIT_IND packets with the
credit value set to 0.

Matches existing credit-related functions by checking that the CID
is in the dynamic range (you can't add credits to fixed channels).

Signed-off-by: Håvard Reierstad <[email protected]>
(cherry picked from commit 2b42a1d)
Signed-off-by: Håvard Reierstad <[email protected]>
Check whether the connection response parameters both with and without
ECRED are within the valid ranges from the Bluetooth Core Specification
(part 3.A.4 v6.0). Changes validation checks in requests to match the
same pattern.

Signed-off-by: Håvard Reierstad <[email protected]>
(cherry picked from commit 7debc8a)
Signed-off-by: Håvard Reierstad <[email protected]>
The many_conn l2cap test used a MTU lower than the minimum permitted
value. This commit bumps it to the minimum (23).

Signed-off-by: Håvard Reierstad <[email protected]>
(cherry picked from commit b799d18)
Signed-off-by: Håvard Reierstad <[email protected]>
@PavelVPV PavelVPV self-requested a review August 6, 2025 07:51
@nordicjm nordicjm merged commit 7de4733 into nrfconnect:main Aug 6, 2025
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants