This fixes crash that happened during source ASE QoS by setting
the tx path that was left uninitialized.
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
The LE Accept/Reject CIS Request commands shall return Unknown
Connection Identifier if the handle is not a CIS handle or does not
exist. If the CIS already has been established, the commands shall
return Command Disallowed.
Signed-off-by: Wolfgang Puffitsch <wopu@demant.com>
The broadcast sink did not allow codec config data to exist
in both the subgroup and in the individual BISes, which
not only doesn't make sense to not allow, but would
also cause interoperability issues.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Fix incorrect data type int32_t local variable used for lazy
value which is uint16_t type.
Other minor code refactor done.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix missing conditional compile of structure members not
required with BT_TICKER_SLOT_AGNOSTIC is enabled.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add 'U' to a value when assigning it to an unsigned
variable.
MISRA-C rule 7.2
Relates to commit b97db52de7 ("misra-c: Add 'U' to
unsigned variable assignments in subsys/").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix incorrect use of stream index (application selected list
of BIS stream) instead of BIS index when checking for
whether the received PDU is to be stored and to be
dispatched as ISO data to ULL.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix missing Broadcast ISO Synchronized Receiver terminate
reason initialization that caused Sync Lost immediately on
a new Sync Establishment due to previous Sync terminate
reason not being reset.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix missing implementation to correctly to use data channel
index for subevents when previous subevent of previous BIS
stream where skipped.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix ISO broadcast implementation to flush stale ISO data for
all BIS streams and like wise generate acknowledgements for
all BIS streams that had its ISO data transmitted at its
reference anchor points.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Restrict the calculated possible Pre-Transmission subevents
count to a maximum of 1 so that the full ISO interval is
not fully occupied by the BIG event.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix a leak in generation of Number of Completed Packets when
more than one handle has acknowledgements to be processed.
The loop exited for the current handle by dequeueing the
node tx element of the next handle leading to lost Number of
Completed Packets.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
When radio event prepare is cancelled due to preemption by
overlapping radio events, the extra done event processing
was missing and hence the use of accumulated prepares'
skip/latency count.
This caused the check for supervision timeout and sync
lost not be aware of the elapsed events.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add 'U' to a value when assigning it to an unsigned
variable.
MISRA-C rule 7.2
Relates to commit b97db52de7 ("misra-c: Add 'U' to
unsigned variable assignments in subsys/").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add the missing ticker resolution margin when calculating
the ticks_anchor to be used to get non-overlapping BIG
events.
Relates to commit fab4511164 ("Bluetooth: Controller: Fix
overlapping advertising events").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
this changes adv_new_legacy to adv_get_legacy.
without this fix the function would return NULL if BT_EXT_ADV is enabled.
Signed-off-by: Jonas Woerner <jonas.woerner@online.de>
Sharing the same pool for both, local and relayed messages has some
disadwantages. In a high-traffic environment the relayed messages may
occupy the whole pool without letting the node to send own messages,
neither to process segmented messages. The vice versa situation is
possible when local messages takes the whole pool so that the node is
not able to relay other messages. Another thing is that it doesn't let
to controll amount of local and relayed messages that the node can send
at once. Controlling the number of messages that the node can relay may
help to reduce the message latency.
This change adds separate net_buf_pool for the relayed messages that
helps to avoid problems described above.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
If `struct bt_mesh_prov::unprovisioned_beacon` callback is not set,
don't process the beacon.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
For the encryption procedure exists a flag used to indicate that the
procedure expects all PDUs to be delivered to the procedure STM.
This flag was not cleared during creation of new procedure. This could
lead to unexpected PDUs being passed to local procedure STM
Signed-off-by: Erik Brockhoff <erbr@oticon.com>
Fix compile error when BT_CTLR_JIT_SCHEDULING is enabled but
BT_CTLR_ADV_EXT is disabled.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
When friend entry is cleared by `friend_clear` after an adv buffer has
been sent to that friend in `friend_timeout`, another friend request
coming after this may reuse the same entry. It is possible that
`friend_timeout` will be scheduled twice: once by the friend request
and once by `buf_send_end` of the previously sent buffer.
In that case, the code will assert on line friend.c:1234. It is not
possible to cancel an adv buffer for the friendship that is to be
cleared, therefore, we need to ensure in correctness of the pending_buf
value in start and end callbacks.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
When local node enter iv recovery procedure, should clear
replay list at first due to avoid possible wrong replay attack.
At present, `bt_mesh_rpl_clear` schedule a timer to clear rpl,
this would cause local node unable precess mesh message(IV Updated).
Also, in `bt_mesh_rpl_pending_store` also not clear rpl, which check
`BT_MESH_VALID` flag, always valid for iv recovery.
So, Add `rpl_clear_pending` work handler process rpl clear.
Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
The CDB module is a mandatory part of provisioning features in BTM, and
can not be regarded as experimental anymore.
Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
Using the passed address is incorrect since the passed address can be
zero to find the lowest available address.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
According to MshPRFv1.0.1, section 3.10.7, the Provisioner shall only
use reuse addresses of the deleted nodes after IV Index is updated.
This change prevents CDB reusing addresses of the deleted nodes until IV
Index is updated. Due to a high range of the unicast addresses, CDB only
stores the highest deleted address once a node is deleted. This creates
a limitation where allocating a node with the high primary unicast
address and then deleting it will make CDB skip big range of address
until next IV Index update.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
When periodic advertising with chaining is re-enabled after
changing interval or just re-enabled then the chain PDUs
where not duplicated causing the LLL to assert detecting the
presence of aux pointer but no linked chain PDUs.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add a new command, connect-name, which takes a string
as the single input and uses that to setup a scan filter
and connect to the first device that matches the name.
This command is thus basically shorthand for
bt scan-filter-set <name>
bt scan on
bt scan off
bt connect
bt scan-filter-clear-name
The idea of this command is to not only make it easier
find and connect to devices in a crowded environment,
but also to more easily connect to devices that changes
their advertised address.
The implementation is minimal as it uses existing
shell commands.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
As per BAP_v1.0, Section 5.6.3.1:
If HCI is used when setting up their respective audio data paths,
and if the codec in use resides in the Bluetooth Host of the device
using the LE Setup ISO Data Path command, the Unicast Client and/or
Unicast Server shall:
* Write the LE Setup ISO Data Path command Codec_Configuration_Length
parameter with the value 0x00.
* Write octet 0 (Coding_Format) of the LE Setup ISO Data Path command
Codec_ID parameter with the value 0x03 (Transparent).
We can assume the codec in use resides in the Bluetooth Host default.
Signed-off-by: Hang Fan <fanhang@xiaomi.com>
Refactor to revert back the terminate check condition to
check the connection role first.
Reverts legacy code changed in
commit 8b1d50b981 ("Bluetooth: controller: llcp: fix issue
re. missing ack of terminate ind").
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Do not use lazy value to prioritize ticker with ticks slot
window that yield to other tickers. Primary channel PDUs
use ticks slow window to nudge themself after an
overlapping ticker within the ticks slot window, but such
ticker may be skipped to next interval. At the next
interval if they again overlap with other tickers then
lazy value shall not be used to prioritize but rather
continue to yield again. This is required to avoid BIG
events from being skipped.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
The timestamp is not part of the SDU, and should
thus not be used to get the maximum SDU size.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Fix BIG Create implementation from silently failing on
values of RTN and SDU_interval that lead to BIG events that
cannot be acheived when using sequential or interleaved
subevents by the Controller Implementation.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Add a Kconfig for Advertising Data Chaining in Extended and
Periodic Advertising, permitting AD data lengths of upto
1650 bytes. The implementation is experimental and needs
further testing.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix BT_CTLR_ADV_DATA_LEN_MAX and other Kconfig dependencies,
and clean up the use of PDU_AC_LL_SIZE_MAX which is used to
allocate scratch packet to be atleast able to accommodate
the minimum 31 bytes AD data such that it is sufficient to
transmit and/or receive scan response PDUs when either
broadcaster or observer alone is supported.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This commit splits out the model related commands from mesh shell to
separate shell modules. The purpose of this alteration is to make model
commands more flexible by letting the application itself define the
model instances.
- Move Health Client commands to separate shell module.
- Move Config Client commands to separate shell module.
- Remove Health Client instance from shell.c.
- Add Health Client instance to mesh_shell test application.
- Add util library for Mesh shell.
- Some refactoring of shell menu layout.
- Update Mesh shell documentation.
Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
Moves shell.c to shell subfolder. Done as a separate step to preserve
diff between previous and new revision of shell.c.
Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
Allow requesting any TX power in SDC via kconfig. This enables easily
setting higher TX values when using a FEM.
Signed-off-by: Timothy Keys <timothy.keys@nordicsemi.no>