Commit Graph

44148 Commits

Author SHA1 Message Date
Peter Bigot
a28f570855 tests: bluetooth: shell: add usb shell test configuration
Verify builds and execution when a CDC-ACM UART is used for the shell.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-09-16 13:32:22 -05:00
Peter Bigot
611263921a usb: add optional work queue
The USB infrastructure currently uses the system work queue for
offloading transfers, CDC-ACM UART transmission/reception, and device
firmware activities.  This causes problems when the system work queue
is also used to initiate some activities (such as UART) that normally
complete without requiring an external thread: in that case the USB
infrastructure is prevented from making progress because the system
work queue is blocked waiting for the USB infrastructure to provide
data.

Break the dependency by allowing the USB infrastructure to use a
dedicated work queue which doesn't depend on availability of the
system work queue.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-09-16 13:32:22 -05:00
Peter Bigot
2c105e8f0d usb: clean CMakeLists conditions
Use the helper function to conditionally include source files.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-09-16 13:32:22 -05:00
Peter Bigot
692449d6c7 usb: fix header language linkage
The block that introduced a C linkage region was not closed in the
header as it should be.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-09-16 13:32:22 -05:00
Peter Bigot
2e99f3b652 usb: cdc_acm: fix formatting specifiers in log messages
The z length modifier must be applied to avoid build errors when the
format is verified by the compiler on systems where size_t is larger
than int.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-09-16 13:32:22 -05:00
Emil Obalski
da93a9e50f usb: cdc_acm: Do not change rx/tx_irq_ena flags on RESET and CONFIGURED
Both tx_irq_ena and rx_irq_ena flags shall be updated only
by using UART API. Those flags are used to let the device
start sending or receiving data. Changing those flags without
awareness of the user may lead to errors.

Signed-off-by: Emil Obalski <emil.obalski@nordicsemi.no>
2020-09-16 13:25:12 -05:00
Emil Obalski
d6dba72502 usb: cdc: Semaphore per CDC_ACM instance.
Usage of `pool_wait_sem` was incorrect. The semaphore shall be
dependent on context it was called for. In case of many CDC_ACM
devices one could possibly block others. This fixes an issue by
making semaphore a part of the internal CDC_ACM device structure.

Signed-off-by: Emil Obalski <emil.obalski@nordicsemi.no>
2020-09-16 13:21:49 -05:00
Peter Bigot
4078442bfd Revert "doc: release: 2.4: note behavior change in device_get_binding"
This reverts commit 6dde16d9f8.

The original behavior has been restored for this release.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-09-16 13:13:22 -05:00
Mahesh Mahadevan
1b6f21b615 west.yml: Update hal_nxp revision
Includes the fix for the FLASH_SIZE on MXRT devices

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2020-09-16 13:11:48 -05:00
Andrew Boie
a8775ab8cb sched: don't use local lock in z_tick_sleep()
We're modifying thread_state. Use sched_spinlock instead.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-09-16 13:11:12 -05:00
Andrew Boie
8e0f6a5936 sched: hold spinlock in z_time_slice()
We are checking thread->base members like thread_state and prio
and making decisions based on it, hold the sched_spinlock to
avoid potential concurrency problems if these members are modified
on another CPU or nested interrupt.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-09-16 13:11:12 -05:00
Andrew Boie
83d7770de4 sched: check if runnable in sliceable()
We need to check if a thread is runnable at all before we
contemplate putting it on the end of the priority queue,
it might not be on the queue at all if it was suspended.

Replaces the less comprehensive check to see if the thread
was pending a timeout.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-09-16 13:11:12 -05:00
Andrew Boie
ffc5bdffbb sched: hold spinlock in z_thread_timeout()
We are checking and modifying members of thread->base
(in particular it's waitq and thread_state) which are
nominally protected by sched_spinlock. Hold it while
doing this to avoid concurrent changes on another CPU
or ISR preeemption.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-09-16 13:11:12 -05:00
Jian Kang
339c8b1b00 tests: mailbox: add new tests
Add 2 new test cases for verify mailbox features

Signed-off-by: Jian Kang <jianx.kang@intel.com>
2020-09-16 12:13:05 -04:00
Maureen Helm
319e28102b Revert "boards: lpcxpresso55s69_cpu1: disable sanitycheck"
This reverts commit 774ab86617.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2020-09-16 09:27:54 -05:00
Maureen Helm
7d2b75861e boards: arm: Add entropy dts chosen node for lpcxpresso55s69_cpu1
Adds an entropy dts chosen node for the lpcxpresso55s69_cpu1 board
configuration. Commit 50830385d8 added
this for the _cpu0 and _ns board configurations, but missed the _cpu1
board configuration.

Fixes sanitycheck build errors for network socket samples.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2020-09-16 09:27:54 -05:00
Andrew Boie
785c79c2a6 doc: release-notes: kernel & x86
Updates to the core kernel and x86 for this release.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-09-16 08:43:14 -05:00
Flavio Ceolin
d6ce361042 mbedtls: Bump to 2.16.8
Update mbedTLS version.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2020-09-16 08:36:07 -05:00
Peter Bigot
6186b65555 samples: sensor: lps22hh: replace platform filter with fixture
Remove reference to a specific board, since that board doesn't have
this sensor.

Add a dependency on presence of a devicetree node that will be
required to build the driver.

Add a fixture that identifies the specific sensor required to run the
sample.  This should be added as a side effect of specifying the
shield (though this is not currently done, it must be added in the
device description).

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-09-16 09:05:41 -04:00
Jian Kang
f4c7dbd043 test: add new test cases for timer
Add new test cases for timer to improve testing infrastructure.
Add different waiting time in existing cases. For new test cases,
restart timer and check for status of timer.

Signed-off-by: Jian Kang <jianx.kang@intel.com>
2020-09-16 08:15:47 -04:00
Ying ming
e3355067f5 test: scheduling: add test case
Add a test case of preemptive thread scheduling.
The scheduler will select the highest priority and
waiting longest thread to be the current thread.

Signed-off-by: Ying ming <mingx.ying@intel.com>
2020-09-16 08:06:42 -04:00
Andrzej Puzdrowski
45c8c51a62 manifest: mcuboot update
Fixed build issue for multiple CONF_FILEs.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2020-09-16 12:06:09 +02:00
Flavio Ceolin
e28d3404eb mgmt: hawkbit: Fix resources leakage
Coverity spots that memory allocated for addr was leaking, but the
code was also leaking the socket file descriptor in the error path.
This patch fixes both problems.

Fixes #28172

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2020-09-16 12:05:21 +02:00
Eduardo Montoya
a136f2f695 net: openthread: fix initialization with link raw enabled
Fix the OpenThread initialization to prevent the IPv6 interface to
be enabled when `CONFIG_OPENTHREAD_RAW` is set.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
2020-09-16 12:05:07 +02:00
Peter Bigot
2534b18bb1 tests: posix: common: remove sub-microsecond nanosleep test
Beyond the complexities of tick resolution on QEMU, this test is
invalid because POSIX nanosleep as currently implemented uses
k_busy_wait(ns / 1000) which means it's measuring the duration of
k_busy_wait(0) in ticks, which has no reasonable relation to 1 ns
regardless of tolerance.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-09-16 12:04:04 +02:00
Watson Zeng
6bddbc95c6 tests: kernel: stack: fix for memcmp with wrong length
fix for memcmp with wrong length

Signed-off-by: Watson Zeng <zhiwei@synopsys.com>
2020-09-16 12:03:32 +02:00
Gerard Marull-Paretas
e8459719d8 lib: gui: lvgl: match kscan rotation with the display
Kscan coordinates are transformed in case display is rotated so that
frames of reference are aligned.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2020-09-16 12:02:52 +02:00
Gerard Marull-Paretas
8d363821a2 boards: shields: invert kscan X axis on Buydisplay 2.8" TFT
Invert kscan X axis on Arduino 2.8" TFT in order to match with phyisical
setup.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2020-09-16 12:02:52 +02:00
Gerard Marull-Paretas
a3b1c7d254 boards: shields: invert kscan X axis on Arduino 2.8" TFT
Invert kscan X axis on Arduino 2.8" TFT in order to match with phyisical
setup.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2020-09-16 12:02:52 +02:00
Gerard Marull-Paretas
b28ec03f0e lib: gui: lvgl: add support for kscan axes swap and inversion
Add new Kconfig options to allow kscan axes swap and inversion. These
options are useful to align display and touch frame of reference. If a
touch API is ever introduced these options could be moved there.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2020-09-16 12:02:52 +02:00
Vinayak Kariappa Chettimada
bd7ee86496 drivers: Bluetooth: rpmsg: Add missing BT_QUIRK_NO_AUTO_DLE
Add BT_QUIRK_NO_AUTO_DLE quirk option for HCI rpmsg driver
when the Zephyr open source BLE controller is used.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-09-16 12:02:32 +02:00
chao an
e611b10fde Bluetooth: host: free the adv instance if start legacy advertise fail
the adv instance should be delete correctly if advertise fail,
Otherwise the instance will unable to allocate if start the legacy again

Signed-off-by: chao an <anchao@xiaomi.com>
2020-09-16 11:29:09 +03:00
Martí Bolívar
43102cacfa doc: application: document OVERLAY_CONFIG
This is a really useful CMake variable that can be used to preserve
the default CONF_FILE value, but "mix in" additional content.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-09-15 19:55:03 -04:00
Ioannis Glaropoulos
85af1bd599 tests: arch: arm: do not build/run test suites for _ns boards
Some test suites depend on determining at run-time
an available IRQ line which can then be used to execute
the test suite. This logic cannot used if the available
IRQ line is not targeting the current security state.
Therefore, filter out the _ns Cortex-m boards from
running these tests suites (i.e. when building with
CONFIG_TRUSTED_EXECUTION_NONSECURE=y) since we can not
contol the target state of the NVIC interrupt lines.

These tests suites test generic ARM features, that do
not depend on TrustZone-M configuration, so it is OK
that they are only executed on ARM platforms without
the NONSECURE configration set.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-09-15 18:04:11 -05:00
Ioannis Glaropoulos
f4d6a7f7ac tests: arch: arm: rework test suite configuration
This commit reworks the .yaml files in Cortex-M
test suites, by grouping the common configuration
under the common: section. This considerably cleans
up the test suite configuration.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-09-15 18:04:11 -05:00
Pawel Kwiek
3672feb3fa west.yml: nrf_radio_802154 Update hal_nodric revision
Update hal_nordic revision to match merged PR

Signed-off-by: Pawel Kwiek <pawel.kwiek@nordicsemi.no>
2020-09-15 19:35:35 +02:00
Rajavardhan Gundi
7d3dde5e5e drivers: peci: xec: Fix error recovery handling
Fix the error recovery mechanism that makes use of a temp variable
to avoid coverity issue without breaking error recovery.

Signed-off-by: Rajavardhan Gundi <rajavardhan.gundi@intel.com>
2020-09-15 12:35:15 -05:00
Anas Nashif
774ab86617 boards: lpcxpresso55s69_cpu1: disable sanitycheck
This board is broken and is preventing us from fixing issues that
allowed it to be merged skipping CI checks. Disabling the board from
sanitycheck to avoid more boards with the same issue from happening
again.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-09-15 13:17:08 -04:00
Anas Nashif
61c4a511ac sanitycheck: error on duplicate board identifier
Error when we have duplicate identifiers in board definition files.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-09-15 13:17:08 -04:00
Anas Nashif
0d566d0887 boards: LPCXpresso55S69: remove duplicate identifier
Use unique identifier for this configuration. cpu0 is already used.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-09-15 13:17:08 -04:00
Anas Nashif
34689bc741 boards: ODROID-GO: fix board identifier
Using the esp32 identifier which is wrong. Probably a copy/paste error.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-09-15 13:17:08 -04:00
Peter Bigot
1a7cd6ddbd kernel: device: invert sense of ready bit
The device status ready bit replaced the previous hack of clearing the
device API pointer when initialization of the device failed.  It
inadvertently changed the behavior of device_get_binding() when
invoked before the device was initialized: previously that succeeded
for uninitialized devices, after the change it failed.

Multiple driver initializations rely on being able to get a device
pointer for something they're going to depend on in their init
function, even if that device has not yet been initialized.  Although
this is wrong, and would cause faults if the device failed to
initialize before use, in practice it has been working.

It's not feasible to identify all the situations where this has
occurred, nor to add code to diagnose such cases without changing the
state associated with a device to distinguish initialized from
initialization success/failure.  Restore the previous behavior until a
more holistic solution is developed.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-09-15 18:22:38 +02:00
Anas Nashif
c3eeab7b04 board: arc: fix nsim_em7d_v22 identifier
Use correct identifier..

nsim_em_em7d_v22 -> nsim_em7d_v22

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-09-15 12:03:56 -04:00
Jukka Rissanen
eb3288d5b1 modules: mbedtls: Allow to enable server name indication option
Allow user to enable RFC 6066 server name indication (SNI) in SSL.

Fixes #27783

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-09-15 09:52:44 -05:00
Ievgenii Meshcheriakov
aac3174677 shell: Fix typo in a comment
Typo: s/badckends/backends/.

Signed-off-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@nordicsemi.no>
2020-09-15 09:44:42 -05:00
Ievgenii Meshcheriakov
b00170436b shell: Make shell UART backend initialization priority configurable
Closes: #28331

Configurable initialization priority is useful when using CDC ACM
serial device, for example.

Signed-off-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@nordicsemi.no>
2020-09-15 09:44:42 -05:00
Watson Zeng
c54a6a0d6e boards: arc: nsim: fix yaml identifier for nsim_em_em7d_v22
fix yaml identifier for nsim_em_em7d_v22 configuration

Signed-off-by: Watson Zeng <zhiwei@synopsys.com>
2020-09-15 10:34:49 -04:00
Tomasz Bursztyka
ed98883795 device: Fixing new left over device instance made constant
Recent addition that went under the radar.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-09-15 09:18:43 -05:00
Andrzej Głąbek
a3430c2caf drivers: spi: nrfx: Restore recently changed spi_context function
Function spi_context_longest_current_buf() has been introduced in
commit ddef35c1da for the purpose of
getting the longest possible (potentially partial) SPI transfer
for which all currently active directions have a continuous buffer.
Such transfer can be done with taking advantage of a DMA that cannot
use scattered buffers (and this is the case for nRF SPI drivers with
which this function has been introduced).
Unfortunately, because of its inadequate name, later on this function
has been incorrectly used in other SPI drivers for getting the longer
of TX/RX buffers. And commit afc480f12b
recently "fixed" the implementation of this function, assumably to
adjust it to those incorrect uses, but this way it has also broken
the nRF SPI drivers.
Instead of restoring the original implementation of the function in
question, this commit adds a new one with functionality equivalent
to that original but with a hopefully less misleading name, and this
function is used in the nRF SPI drivers.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2020-09-15 15:59:18 +02:00
Fabio Utzig
c5a7e15fd8 doc: update bluetooth to use @option ALIAS
The bluetooth.h header file uses a different tabulation style in the
documentation headers, which for recent Doxygen versions generates
verbatim blocks. This disables usage of the @option ALIAS because
verbatim blocks cannot be nested. With this commit the documentation's
tabulation is fixed and `@option` is used to resolve Kconfig options.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-09-15 15:25:01 +02:00