Commit graph

11710 commits

Author SHA1 Message Date
Carlo Caione
c5894df5ec pm: Change parameters of pm_power_state_{set,exit_post_ops}
Just pass state and substate_id instead of the whole info structure
pointer.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2022-02-21 20:58:01 -05:00
Carlo Caione
8143f206dd pm: Rename exit_pos_ops to pm_exit_pos_ops
Because exit_pos_ops is the only function without the prefix.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2022-02-21 20:58:01 -05:00
Carlo Caione
11f1dd2370 pm: Reference pm_state_info only by pointer
It's unnecessary to move the pm_state_info around by value, just use a
pointer.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2022-02-21 20:58:01 -05:00
Krzysztof Chruscinski
caa3ee686a shell: kernel_service: Use z_stack_space_get for isr stack stats
Use dedicated function for calculating stack usage of the
interrupt stack(s).

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-02-21 20:57:17 -05:00
Krzysztof Chruscinski
1eb5183bee debug: thread_analyzer: Add option to print ISR stack usage
Add option to include analysis of interrupt stack(s) when
threads are analyzed.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-02-21 20:57:17 -05:00
Robert Lubos
3ebd581467 net: sockets: Allow to build CAN sockets with offloading enabled
There is no releavnce between CAN sockets and offloading that would
prevent one from working with another, therefore it's not right to
allow CAN sockets to be build only if offloading is disabled. Fix the
wrong dependency in socket CMakeLists.txt file.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2022-02-21 20:52:38 -05:00
Kamil Piszczek
c7e12c9384 bluetooth: gatt: add validation for supervision timeout
Added a missing assert statement for validation of the preferred
supervision timeout parameter which can be configured by the user
via Kconfig.

Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
2022-02-21 20:51:58 -05:00
Asbjørn Sæbø
8461e0b303 Bluetooth: OTS: Use existing variable instead of finding value again
Minor improvement: Use already existing variable, rather than finding
the same value again.  It is clearer, and simpler, to use the variable
everywhere this value is needed.

Signed-off-by: Asbjørn Sæbø <asbjorn.sabo@nordicsemi.no>
2022-02-21 20:51:14 -05:00
Henning Fleddermann
7eb25df526 net: lib: lwm2m: add lwm2m_engine_is_observed function
add helper function to check wether a specific lwm2m
path is observed

Signed-off-by: Henning Fleddermann <henning.fleddermann@grandcentrix.net>
2022-02-21 20:50:52 -05:00
Emil Gydesen
24bca9b27b Bluetooth: Host: Avoid address copy for PA list
Avoids copying the address and assigning the SID if the
PA list is used, as the values are ignored by the
controller, and thus there is no reason to copy
or assign the values.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-02-21 20:50:22 -05:00
Dominik Ermel
dc8308506e mgmt/mcumgr/lib: Remove unneeded return code check
The smp_process_request_packet has been checking return code from
mgmt_streamer_init_writer where Zephyr implementation of the
callback always returns 0.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-02-21 20:50:06 -05:00
Eduardo Montoya
a0093eeda0 net: openthread: fix handling tx done to report all kind of errors
Fix bug in radio implementation that reported any transmit error
as `OT_ERROR_NO_ACK` to OpenThread.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
2022-02-21 20:49:20 -05:00
Boon Khai Ng
e46d8a1d51 fat_fs: Add support for the "win" variable alignment in FATFS struct
This is to support Sypnosys Designware SDMMC controller read and write
operation where the buffer address is needed to be 16bytes and 512bytes
aligned. Adding macro FS_FATFS_WINDOW_ALIGNMENT to align the "win"
variable address in FATFS struct.

Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
2022-02-21 20:48:54 -05:00
Rubin Gerritsen
5b16dd4326 Bluetooth: Host: Issue all auto-initiated commands synchronously
This solves the following issues:
- Auto-initiation of commands is aborted if one of the issued commands
  fails
- The controller return value for a PHY update or DL update is not
  made available to the application.

As a result, the host no longer prevents the application from calling
bt_conn_le_data_len_update() and bt_conn_le_phy_update() before the
auto-initiated procedure completes. Now the controller may or may not
accept the additional command issued by the application.

It also simplifies the code:
- We no longer need to keep track of if the auto-phy update
  or auto-dl update has completed. If the controller receives
  another LE Set PHY while the procedure is pending in the LL, it can
  decide if wants to accept another procedure initiation or not.
- We no longer need to auto-initiate auto-initiation of commands in
  multiple places

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2022-02-21 20:41:57 -05:00
Krzysztof Chruscinski
81ce6db313 logging: Add common api for getting memory usage
Logging v2 did not support getting memory usage data. Adding this
support by creating common api for getting current and maximum
usage. Tracking of maximum usage is optional and can be enabled
using CONFIG_LOG_MEM_UTILIZATION.

Updated shell command to use common API.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-02-21 20:41:17 -05:00
Andries Kruithof
2f98f8f7cf Bluetooth: controller: llcp: inclusive naming in unittests
There were some references to slave and master left in the unittests
for the refactored LLCP.
These are changed in respectively peripheral and central

Signed-off-by: Andries Kruithof <Andries.Kruithof@nordicsemi.no>
2022-02-21 19:43:10 -05:00
Herman Berget
4c980233af Bluetooth: Host: Add L2CAP collision mitigation test
Tests that when a collision happens, the connection attempt is retried
and that it succeeds.

Signed-off-by: Herman Berget <herman.berget@nordicsemi.no>
2022-02-21 19:40:42 -05:00
Herman Berget
acaa7b850c Bluetooth: Host: Implement L2CAP collision mitigation
This is required by Core Spec Version 5.3 Vol. 3, Part G, Section 5.4.

Signed-off-by: Herman Berget <herman.berget@nordicsemi.no>
2022-02-21 19:40:42 -05:00
Herman Berget
8b46aaaf69 Bluetooth: Add common BT_CONN_INTERVAL_TO_MS macro
The same macro was defined in multiple places.

Signed-off-by: Herman Berget <herman.berget@nordicsemi.no>
2022-02-21 19:40:42 -05:00
Emil Gydesen
1d8645d2b6 Bluetooth: ISO: Add missing BT_ISO_SDU_BUF_SIZE for RX pool
The iso_rx_pool did not use the correct buffer size due to
a missing BT_ISO_SDU_BUF_SIZE, causing it to be too small.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-02-21 19:40:02 -05:00
Henrik Brix Andersen
1f57e73730 canbus: isotp: ensure consecutive frames are sent in FIFO order
Ensure that ISO-TP Consecutive Frames (CF) are sent in
FIFO/chronological order.

In order to ensure this, we can only have one CF queued in the CAN
controller TX mailboxes at a time, since transmit order for mailboxes
with the same CAN-ID (priority) is hardware specific.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-02-21 19:37:35 -05:00
Johann Fischer
3b7807cc9b usb: dfu: disable USB DFU uploading by default
Firmware uploading to the host may not always be desired,
disable it by default.

Enable it for existing USB DFU sample to keep
the usual behavior, add note about new option to README.rst.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2022-02-18 09:32:22 -08:00
Johann Fischer
09f48c9a4f usb: dfu: rename FLASH_AREA_ID macro
Rename confusing UPLOAD_FLASH_AREA_ID to DOWNLOAD_FLASH_AREA_ID
as it is area where firmware image is downloaded.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2022-02-18 09:32:22 -08:00
Johann Fischer
c51cfee4bf usb: do not add ZLP if lenght to be transmitted is just zero
It is possible that the actual data stage length of
the control transfer is zero, in that case we do not
need an additional ZLP packet.

This fixes a problem with USB DFU, where after an upload
the device is no longer responsive if upload size is
multiple of control endpoint MPS.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2022-02-18 09:32:22 -08:00
Yuval Peress
35ec3c9579 ztest: Update verification to account for missing suite
Fix an issue where a test's suite name was misspelled and thus the
test never ran because it wasn't associated with a suite. Example:

ZTEST_SUITE(my_suite, NULL, NULL, NULL, NULL, NULL);
ZTEST(myy_suite, test)
{
}

The above will no longer pass since `myy_suite` with a double `y` will
fail the verification.

Signed-off-by: Yuval Peress <peress@google.com>
2022-02-17 09:08:21 -05:00
Szymon Janc
4fce6fb937 Bluetooth: L2CAP: Fix checking if LTK is present
This fix a typo where incorrect member of bt_keys was used for
checking if LTK is present. This was resulting in bogus results
depending on connection role and current identity used.

This was affecting L2CAP/LE/CFC/BV-25-C qualification test case.

Fixes: #42862

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2022-02-17 13:11:43 +01:00
Piotr Pryga
777ddc053d Bluetooth: Controller: df: Fix missing node_rx release if wrong CTE type
Periodic advertising sync may be created with CTE type filtering
enabled. When received AUX_SYNC_IND, there are HCI_LE_Periodic_-
Advertising_Sync_Established and HCI_LE_Periodic_Advertising_Report
events generated. In case received AUX_SYNC_IND has wrong CTE type,
HCI_LE_Periodic_Advertising_Sync_Established event is generated.
There may not be HCI_LE_Periodic_Advertising_Report event generated.
In this case node_rx, prepared by LLL, was not released in ULL.
It was lost in ull_sync_established_report.

Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
2022-02-17 13:08:45 +01:00
Piotr Pryga
523f0f9bc6 Bluetooth: Controller: df: Fix build err if scan cte rx disabled
CONFIG_BT_CTLR_DF_CTE_RX is enabled by default if CONFIG_BT_CLTR_DF
is enabled and there is support for DF in given SOC.
If CONFIG_BT_CTLR_DF_SCAN_CTE_RX is disabled then the CONFIG_BT_CTLR-
_PER_SCAN_CTE_NUM_MAX is not available.
It causes build errors if that particular configuration is used by
an application. It was a case for example in split builds of direction
finding connectionless TX sample application were periodic advertising
was enabled but perddioc advertising sync was disabled.

The commit fixes the problem.

Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
2022-02-17 13:07:12 +01:00
Rubin Gerritsen
e30e2e1240 Bluetooth: Host: Fix setting long advertising data
Previously the data was set incorrectly when the data was set in
multiple operations. It did not take the previous state into account.

Fixes: https://github.com/zephyrproject-rtos/zephyr/issues/42648

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2022-02-15 09:51:14 -08:00
Yuval Peress
47113211c7 ztest: document test rules
Add documentation to test rules.

Signed-off-by: Yuval Peress <peress@google.com>
2022-02-14 09:31:28 -05:00
Xabier Marquiegui
e238dce6cc net: gptp: gptp port role disabled on link down
Set GPTP port role to disabled if port link is down.

Signed-off-by: Xabier Marquiegui <xmarquiegui@ainguraiiot.com>
2022-02-11 10:03:05 -06:00
Piotr Pryga
a17eeb2835 Bluetooth: Host: Fix wrong length of antenna identifiers for CTE RX
There were used an uninitialized variable to set antenna identifiers
length. The value should be set with use of params argument, not
by cp pointer that is not yet initialized.

Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
2022-02-11 13:55:32 +01:00
Marek Pieta
cd89f9a75d Revert "Bluetooth: host: Remove CCC update from GATT connected callback"
This reverts commit 0a1f553dc2.

Signed-off-by: Marek Pieta <Marek.Pieta@nordicsemi.no>
2022-02-11 13:52:29 +01:00
Vinayak Kariappa Chettimada
230f4f1c1b Bluetooth: Controller: Fix to use non-discardable buffer
Fix to use non-discardable Rx buffer for handling Extended
and Periodic Advertising Report.

Regression introduced in
commit 18171bc774 ("Bluetooth: Host: Non-discardable event
buffer size is 255 for ext adv"). The default discardable Rx
buffer size was reduced causing increased fragmentation and
deadlock trying to get more free discardable Rx buffers to
generate HCI Extended and Periodic Advertising reports.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-02-10 20:05:11 +01:00
Daniel Nejezchleb
1f22a2bc3c net: tcp: Fix possible deadlock in tcp_conn_unref()
This reverts commit e7489d8de7.

And fixes the deadlock by allowing only 1 thread to actualy clean up
the connection when the ref_count is 0.

Signed-off-by: Daniel Nejezchleb <dnejezchleb@hwg.cz>
2022-02-10 10:59:03 +01:00
Jim Benjamin Luther
bf450552b8 Bluetooth: host: Save CCC data on pairing complete
Fixes issue #39989.

Save CCC data on pairing complete by replacing private addresses
for the just bonded device with its public address in CCC attributes'
CFG arrays. This is then followed by calls to bt_gatt_store_ccc
and bt_gatt_store_cf for the just bonded device.

Signed-off-by: Jim Benjamin Luther <jilu@oticon.com>
2022-02-10 10:20:20 +01:00
Johann Fischer
da47f41e42 modbus: do not loop in UART IRQ handler
On some platforms, if there are multiple MODBUS interfaces,
receiving of RTU frames may fail. Replacing while loop with
just "if" fixes this problem.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2022-02-09 22:11:16 -05:00
Vinayak Kariappa Chettimada
d367447d64 Bluetooth: Controller: Fix scanner window close by using lll_disable
Fix race condition in setting up ISR callback and parameter
caused between ULL_HIGH and LLL context. As LLL IRQ is not
disabled the parameter and ISR callback would get out of
sync causing incorrect parameter supplied to callback and
hence leading to development assert in ull_scan_done().

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-02-09 19:49:27 +01:00
Vinayak Kariappa Chettimada
7f24d3bc6b Bluetooth: Controller: Fix missing aux release on abort of LLL sched
Fix missing auxiliary context release message on abort of
LLL scheduling scheduling used by scan context.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-02-09 19:49:27 +01:00
Vinayak Kariappa Chettimada
c2dda0950d Bluetooth: Controller: Fix missing auxiliary context done event
Fix missing use of auxiliary context to generate done event
which caused leak in release of auxiliary context being not
release when reference count that should decrease to zero.

Regression in 'commit 665a8d2c6e ("Bluetooth: Controller:
Fix repeated per sync drift compensations").

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-02-09 19:49:27 +01:00
Vinayak Kariappa Chettimada
4591c0173f Bluetooth: Controller: Fix auxiliary context release on scan done
Fix auxiliary context release on scan done, do not wait for
reference count to reduce when Periodic Sync events overlap.

Regression introduced in commit 624e003064 ("Bluetooth:
controller: Fix auxiliary scan context release").

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-02-09 19:49:27 +01:00
Vinayak Kariappa Chettimada
0748474831 Bluetooth: Controller: Fix reset of is_aux_sched flag
Fix reset of is_aux_sched flag when closing the primary and
auxiliary PDU reception. Without this fix when scan window
is closed there would be duplicate auxiliary release message
generated causing memory corruption.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-02-09 19:49:27 +01:00
Vinayak Kariappa Chettimada
4d87a7ff15 Bluetooth: Controller: Auxiliary PDU reception continuation
Implementation to continue Auxiliary PDU reception when
overlapping with scan events.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-02-09 19:49:27 +01:00
Vinayak Kariappa Chettimada
bd4086b847 Bluetooth: Controller: Periodic Sync Chain reception continuation
Implementation to continue Periodic Sync Chain reception
when overlapping with scan events.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-02-09 19:49:27 +01:00
Vinayak Kariappa Chettimada
481a334d2b Bluetooth: Controller: Remove minor redundant assignment
Minor change to remove redundant assignment statement.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-02-09 19:49:27 +01:00
Vinayak Kariappa Chettimada
0a290bd51d Bluetooth: Controller: Add assert check to detect sync aux context leak
Add assertion check to detect sync aux context leak.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-02-09 19:49:27 +01:00
Vinayak Kariappa Chettimada
e5e0470ed3 Bluetooth: Controller: Add development assert to check aux context
Add development assert to check the validity of auxiliary
context allocation. This is to ensure that primary PDU
reception does not have an auxiliary context allocated until
ULL has processed the node rx.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-02-09 19:49:27 +01:00
Vinayak Kariappa Chettimada
18ca682357 Bluetooth: Controller: Add development assert to check auxiliary parent
Add development assert to check the validity of auxiliary
context's parent. This is to ensure a released auxiliary
context is not reused without allocation.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-02-09 19:49:27 +01:00
Vinayak Kariappa Chettimada
ebe64beb2a Bluetooth: Controller: Add assert to check IQ sample allocation
Add assert to check IQ sample allocation.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-02-09 19:49:27 +01:00
Marius Scholtz
3ea5343f0d modbus: serial: Fix incomplete transmission issue
This patch is to fix an issue where the transceiver chip is
disabled before it has transmitted all data. This causes the
message to be corrupted because the last few bytes are missing.

The fix adds a check to make sure the transmission is completed
before disabling the transceiver.

Signed-off-by: Marius Scholtz <mariuss@ricelectronics.com>
2022-02-09 15:47:07 +01:00