Commit Graph

17990 Commits

Author SHA1 Message Date
Angus Gratton
564229c9a6 pthread: Fix behaviour when pthread destructor calls pthread_getspecific/pthread_setspecific
Update as per specification at https://pubs.opengroup.org/onlinepubs/009695399/functions/pthread_key_create.html

Specifically:

- Before a destructor is called then the value for the corresponding key is
  already set to NULL.

- If a destructor calls pthread_setspecific() to assign a non-NULL value then
  this destructor is called again, after all existing non-NULL values have been
  called.

Adds a test for this relatively complex behaviour.

Closes https://github.com/espressif/esp-idf/issues/6643
2021-12-21 01:27:49 +00:00
Ivan Grokhotkov
e26a2250a5 freertos: linker.lf rules fixes
1. Add conditions based on Kconfig options for functions which are
   compiled based on those options.
2. Static allocation is always enabled, move corresponding functions
   into the common list.
2021-12-21 01:26:44 +00:00
Ivan Grokhotkov
8e7b11f6d1 newlib: set errno in the explicitly provided reent structure
Since these functions receive the pointer to reent structure, they
should set errno in it rather than using thread-local errno.

This didn't cause practical issues because console functions in IDF
are only called from threads, and in that case 'r' is a pointer to
the thread-local structure, so &errno is the same thing as
&__errno_r(r). Still, fixing this for consistency.
2021-12-21 01:25:49 +00:00
Ivan Grokhotkov
3d91e6d993 newlib: implement _fstat_r stub for console
When CONFIG_VFS_SUPPORT_IO is disabled, _read_r and _write_r
implementations in syscalls.c are used to provide console I/O via
esp_rom_uart_tx_one_char/esp_rom_uart_rx_one_char.

When newlib opens a (FILE*) stream, it calls fstat to check if the
underlying file is character-oriented. In this case, it configures the
stream to use line buffering. Otherwise (or if fstat fails) the stream
is opened as block buffered.

Since fstat wasn't provided, stdin/stdout/stderr streams got opened in
block buffered mode. For console, we need line buffered output so that
the stream buffer is flushed each time a complete line (ending with
'\n') is sent to stdout or stderr.

Fix by implementing _fstat_r stub, setting st->st_mdoe=S_IFCHR.
2021-12-21 01:25:49 +00:00
Ivan Grokhotkov
f976bb0ef8 ldgen: allow + sign in archive names
Closes https://github.com/espressif/esp-idf/issues/8073
2021-12-21 02:17:43 +01:00
Ivan Grokhotkov
bd598e36ea newlib: stdatomic: implement missing "op_fetch", "nand" builtins
* Adds implementations of __{atomic,sync}_nand_fetch_n. These builtins
  were implemented for other operations but were not defined for NAND.
* Adds implementation of __atomic_OP_fetch_n for all OPs.
* Adds implementation of __sync_OP_and_fetch_n for all OPs.

Reported in https://github.com/espressif/arduino-esp32/issues/5948
2021-12-21 02:16:02 +01:00
Omar Chebib
824552e9b4 RISC-V: fix usage of special register when interrupts are enabled 2021-12-21 01:06:11 +00:00
Ivan Grokhotkov
3c0d892d43 Merge branch 'bugfix/missing-atomic-definitions' into 'release/v4.3'
newlib: missing atomic definitions (v4.3)

See merge request espressif/esp-idf!15610
2021-12-21 01:03:24 +00:00
Ivan Grokhotkov
6217ebd865 Merge branch 'feature/remove_component_manager_tests_v4.3' into 'release/v4.3'
ci: Remove component manager test from build system tests (v4.3)

See merge request espressif/esp-idf!16107
2021-12-21 01:02:40 +00:00
Ivan Grokhotkov
5ec8dcf937 Merge branch 'bugfix/scheduler_state_query_thread_safety_v4.3' into 'release/v4.3'
freertos: fix thread safety for checking scheduler state (v4.3)

See merge request espressif/esp-idf!16131
2021-12-21 01:02:12 +00:00
Ivan Grokhotkov
c72c3fdb3c Merge branch 'update/version_4_3_2' into 'release/v4.3'
Update version to 4.3.2

See merge request espressif/esp-idf!16462
2021-12-21 00:56:13 +00:00
Ivan Grokhotkov
8bf14a9238 versions: Update version to 4.3.2 2021-12-20 19:02:41 +01:00
Kapil Gupta
92331a8c62 wpa_supplicant: Add WPS Fixes
Add following bugfixes

1. Station not able to connect when WPS pin is pressed first on AP.
2. PBC overlap getting detected for selected registrar PIN APs.
3. Station not considering authorised MACs for PIN method.
4. For PIN methodm If no AP is found, station will loop through
   APs in its vicinity and try to do WPS with them one by one till
   WPS timeout occurs. This is for some APs which do not set
   selected registrar correctly.
2021-12-20 22:02:53 +05:30
weitianhua
bb9a13e328 Fix Typos 2021-12-20 17:03:14 +08:00
weitianhua
b34c461d35 Optimize HFP Documents 2021-12-20 17:03:02 +08:00
wangmengyang
971d9b9436 component/bt/host/nimble: fixed memory leak due to timer not destroyed during NimBLE host start-stop 2021-12-20 15:55:47 +08:00
shenjun
6a2f9b21ec esp_wifi_mesh: fix the device can not receive IP_EVENT_STA_GOT_IP when the router restarted 2021-12-16 17:27:24 +08:00
Harshit Malpani
3a55b28ba9 Fix for advanced_ota_redirect_url example failure in CI 2021-12-16 12:18:00 +05:30
Harshit Malpani
c9940a3eed Fix 'address already in use' exception in OTA tests
We will stop the server instance at the end of each test case. This will solve the "address already in use" exception
2021-12-16 10:16:32 +05:30
liqigan
a269df84e9 fix SPP server bugs when the BTC layer can not allocate a slot for the listen port 2021-12-14 11:07:29 +08:00
xiewenxiang
a7900f871f components/bt: Fix high duty cycle directed advertising will not be stopped when timeout 2021-12-14 09:33:24 +08:00
xiewenxiang
d4cc192782 components/bt: Support low duty cycle directed advertising 2021-12-14 09:33:17 +08:00
xiewenxiang
8409e3bcbe components/bt: fix blufi encryption fail 2021-12-13 09:55:00 +08:00
Hrudaynath Dhabe
d3b88a13e1 esp_wifi: Change the verbosity of wpa_supplicant logs. 2021-12-09 12:41:36 +05:30
Juraj Sadel
255da2605b tools: Add check for PIP_USER variable
Closes https://github.com/espressif/esp-idf/issues/7910
2021-12-08 16:23:50 +01:00
Chen Yudong
1c18f28a4a ci: preserve artifacts for local test apps
build ble_mesh_console example on c3 as well
add test dir examples/bluetooth/esp_ble_mesh/ble_mesh_console
add test dir examples/bluetooth/hci/controller_hci_uart_esp32
2021-12-08 16:31:21 +08:00
Marius Vikhammer
44af11f38c spi-slave: fix single-board: hd test failing due to DMA buffers ending up in PSRAM 2021-12-08 12:17:06 +08:00
jingli
4b73610eea reduce bootup time when using usb-serial-jtag 2021-12-03 20:55:52 +08:00
RichFalk
2305b5f474 esp_ringbuf: Fix assertion xQueueGenericSend queue.c:818
The release of the semaphore indicating the item was successfully sent must be the last semaphore released.  The receiver may be in another task and may delete the Ringbuffer (such as with a return code across tasks design pattern) if they are through with the Ringbuffer.

The function xRingbufferSendAcquire followed by xRingbufferSendComplete had the semaphores released in the proper order and that same pattern should have been used in xRingbufferSend and xRingbufferSendFromISR.  This commit fixes this order.

Issue (IDFGH-6030) #7716 describes the problem in more detail.

Closes IDFGH-6030, https://github.com/espressif/esp-idf/issues/7716
Closes IDFGH-6036, https://github.com/espressif/esp-idf/pull/7721
2021-12-03 09:34:15 +05:30
Mahavir Jain
70936f4c92 mbedtls: remove wrap from component.mk as well
Note: This was not required in original MR, as master branch does
not support GNU Make.
2021-12-02 17:15:42 +05:30
Aditya Patwardhan
9fb61791fe secure_boot: Fix warning when UART ROM DL mode is disabled
*Additionally use updated calls to enable rom secure download mode
2021-12-02 15:17:56 +05:30
Mahavir Jain
7a8c8f8576 esp_bignum: move check for supported MPI bits at start of API
This can allow hardware MPI API to return as soon as it identifies
that it can handle require bitlength operation.
2021-12-02 15:08:42 +05:30
Mahavir Jain
1cae1fc18e mbedtls: update mbedtls submodule pointer for MPI API change 2021-12-02 15:08:41 +05:30
Mahavir Jain
0befb28237 mbedtls: fix hardware MPI (bignum) related regression
In commit de22f3a4e5, combination of
hardware and software MPI (bignum) related approach was used to
work around chip (e.g. ESP32-C3) limitation of max 3072 bits support.

This was done using linker "--wrap" flag but since the relevant API is
being used in same translation (compilation unit), hardware mode was not
getting used in some cases (e.g., RSA key generation).

This commit modified internal mbedTLS API and makes software+hardware
combination deterministic.
2021-12-02 15:08:37 +05:30
Mahavir Jain
f864e1ddbb mbedtls: update kconfig help to correct on supported MPI bits 2021-12-02 15:07:37 +05:30
Anton Maklakov
6ebd748c75 ci: Fix build system tests to clean the dir 2021-12-01 18:25:10 +01:00
radim.karnis
4f19ef06fb esptool: Bump version, fix esp32r0/1 connection
Closes https://github.com/espressif/esptool/issues/698
2021-12-01 12:43:50 +01:00
daiziyan
4fe9b8c40f docs: update CN translation for oat.rst and console.rst for v4.3 2021-12-01 17:22:39 +08:00
Gustavo Henrique Nihei
f34a85dc31 bootloader_support: Fix and re-enable bootloader_debug_buffer function
The body of the bootloader_debug_buffer function was conditioned to
macros that were never defined, resulting in deactivated code.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-11-30 21:01:55 +08:00
Martin Gaňo
a93e3dff25 Avoid exception messages while autocomplete initialization in export.sh 2021-11-30 12:58:14 +01:00
Yang Zhao
f2d6cb7298 Add the feature that switch random address to origin mac addr in the ADV
report data.
2021-11-30 14:27:32 +08:00
Omar Chebib
2ccf84cedf VFS: select function's timeout is now POSIX compliant
`select` function will now round up the timeout passed as a parameter (if any).
It  makes it POSIX compliant.

* Closes https://github.com/espressif/esp-idf/issues/7514
2021-11-30 12:05:34 +08:00
Mahavir Jain
0855521014 bootloader: add anti-FI checks around secure version in anti-rollback scheme 2021-11-29 18:49:36 +05:30
aleks
9204605d98 freemodbus: fix port contains lgpl licensed files
Initial version of freemodbus master port files have been added to ESP-IDF based on https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32.
The overall repository license, at the time of adding these files, has been BSD 3-clause. However at that time, several port files carried LGPL license headers. As the author of these files confirmed in https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32/issues/61#issuecomment-977828450, this wasn't intentional. ESP-IDF version of modbus master port has been rewritten to target FreeRTOS instead of RT-Thread, but the license headers remained from the original version. This commit corrects this, replacing the license of these files with BSD 3-clause.
2021-11-29 14:15:23 +01:00
Isha Pardikar
fcd5e502a7 Merge branch 'nimble/add_throughput_example_v4.3' into 'release/v4.3'
NimBLE throughput example: Changed write api to write without response

See merge request espressif/esp-idf!16124
2021-11-26 11:21:15 +05:30
isha pardikar
25c61606a1 Merge branch 'nimble_spp' of ssh://gitlab.espressif.cn:27227/espressif/esp-idf into 'release/v4.3'
Nimble: Added BLE SPP Service

Closes: https://github.com/espressif/esp-idf/issues/7303

See merge request espressif/esp-idf!16123
2021-11-26 09:55:47 +05:30
Mahavir Jain
a8260c9c77 freertos: fix thread safety for checking scheduler state
This issue was earlier fixed in commit 79e74e5d5f
but during migration to newer FreeRTOS release, it got introduced again.

This commit fixes thread safety issues with configASSERT() calls
regarding the value of uxSchedulerSuspended. A false negative
occurs if a context switch to the opposite core occurs in between
the getting the core ID and the assesment.

Relevant https://github.com/espressif/esp-idf/issues/4230
Closes https://github.com/espressif/esp-idf/issues/7726
Closes IDFGH-6041
2021-11-25 19:32:19 +05:30
Nachiket Kukade
ff42b70176 docs: Separate Doc on WiFi security, added DPP Doc
1. Add new Doc on WiFi security
2. Add DPP related Doc under WiFi
3. Add Supplicant public headers in Doxyfile
2021-11-25 21:01:29 +08:00
Jiang Jiang Jian
233dc30fb1 Merge branch 'bugfix/pppos_event_deinit_exit_ppp_v4.3' into 'release/v4.3'
Examples/PPPoS: Minor fixes related to init/deinit cycling (v4.3)

See merge request espressif/esp-idf!16062
2021-11-25 11:46:10 +00:00
Jiang Jiang Jian
d95accbda9 Merge branch 'bugfix/multi_heap_get_info_impl_backport_v4.3' into 'release/v4.3'
heap: fix multi_heap_get_info_impl (backport v4.3)

See merge request espressif/esp-idf!16118
2021-11-25 11:45:31 +00:00