Commit Graph

10678 Commits

Author SHA1 Message Date
Jiang Jiang Jian ad9395f74a Merge branch 'mesh/non_mesh_connections_access_v4.2' into 'release/v4.2'
esp_wifi_mesh: add non mesh connections access(v4.2)

See merge request espressif/esp-idf!18785
2022-07-21 19:19:14 +08:00
Darian Leung c7c07c5fb2 freertos: Fix flakey event group unit test
The "FreeRTOS Event Groups" main task will only wait a single tick for the created
tasks to set their response bits. This short delay may not be sufficent if the tick
frequency is high.

This commit updates the test so that

- the main task waits indefinitely for all the response bits to be set.
- created tasks are cleaned up by the main task
2022-07-19 12:19:42 +08:00
Darian Leung 5e15bafd26 freertos: Fix event group task list race condition
FreeRTOS synchronization primitives (e.g., queues, eventgroups) use various event lists (i.e., task lists) to track what
tasks are blocked on a current primitive. Usually these event lists are accessed via one of the event lists functions
(such as vTask[PlaceOn|RemoveFrom]UnorderedEventList()), which in turn ensure that the global task list spinlock
(xTaskQueueMutex) is taken when accessing these lists.

However, some functions in event_groups.c manually traverse their event lists. Thus if a tick interrupt occurs on
another core during traversal and that tick interrupt unblocks a task on the event list being traversed, the event list
will be corrupted.

This commit modifies the following event_groups.c functions so that they take the global task list lock before
traversing their event list.

- xEventGroupSetBits()
- vEventGroupDelete()
2022-07-19 12:13:54 +08:00
Chen Wu 43f1c37458 lwip: Fixed that ipv6 dns cannot work 2022-07-15 16:20:37 +08:00
David Čermák bef5f431d9 Merge branch 'bugfix/eth_icmp_dest_localhost_v4.2' into 'release/v4.2'
ci/esp_eth: Make the ICMP destination localhost (v4.2)

See merge request espressif/esp-idf!18753
2022-07-13 16:06:53 +08:00
Jiang Jiang Jian 7a1df44319 Merge branch 'bugfix/modbus_allow_master_slave_work_simultaneously_v42' into 'release/v4.2'
freemodbus: fix issues when modbus master and slave work simultaneously (backport v4.2)

See merge request espressif/esp-idf!14949
2022-07-13 15:37:20 +08:00
Alex Lisitsyn bfac558b6f freemodbus: fix issues when modbus master and slave work simultaneously (backport v4.2) 2022-07-13 15:37:19 +08:00
zwj 6c4351908c Fixed ESP32 BLE ke_mem.c assert 2022-07-13 03:08:09 +00:00
Island d69e42348f Merge branch 'bugfix/no_proxy_beacon_send_after_deinit_v4.2' into 'release/v4.2'
ble_mesh: stack: Bugfix for proxy beacon send after reinit mesh(v4.2)

See merge request espressif/esp-idf!18793
2022-07-13 10:51:36 +08:00
Jiang Jiang Jian 221993edd4 Merge branch 'bugfix/not_use_malloc_in_bluedroid_v4.2' into 'release/v4.2'
component/bt: use osi_malloc instead of malloc in bluedroid

See merge request espressif/esp-idf!18845
2022-07-12 10:43:44 +08:00
Jiang Jiang Jian 8f2659e2ad Merge branch 'bugfix/eap_method_selection_release_v4.2' into 'release/v4.2'
esp_wifi: Fix the negotiation of method with eap server.

See merge request espressif/esp-idf!18509
2022-07-11 16:45:22 +08:00
Jiang Jiang Jian a07f18ff9f Merge branch 'bugfix/cpu_reset_perip_clk_disable_v4.2' into 'release/v4.2'
esp_system: Peripheral clocks faulty become disabled during cpu reset (backport v4.2)

See merge request espressif/esp-idf!15486
2022-07-11 16:44:32 +08:00
Jiang Jiang Jian 443d8a187b Merge branch 'bugfix/fix_esp_restart_does_not_reset_timer_groups_periph_v42' into 'release/v4.2'
modbus: fix esp restart does not reset timer groups periph (backport v4.2)

See merge request espressif/esp-idf!15506
2022-07-11 16:42:42 +08:00
Alex Lisitsyn eaf03e06d5 modbus: fix esp restart does not reset timer groups periph (backport v4.2) 2022-07-11 16:42:42 +08:00
Jiang Jiang Jian 034c05c82e Merge branch 'bugfix/usb_hal_and_clk_v4.2' into 'release/v4.2'
Fix USB with swapped pins not working (backport v4.2)

See merge request espressif/esp-idf!17104
2022-07-11 16:42:13 +08:00
Wang Meng Yang 94fd4ffa2e Merge branch 'bugfix/fix_osi_men_dbg_xxx_not_defined_when_enable_mem_dbg_v4.2' into 'release/v4.2'
bugfix/fix the issue of functions not defined when enable memory debug (v4.2)

See merge request espressif/esp-idf!18817
2022-07-11 15:37:54 +08:00
morris c9bc1943fa ci/esp_eth: Make the ICMP destination localhost
Original commit: 9fa06719fa
global: enable build uinit test for esp32-s3
2022-07-11 04:53:40 +00:00
baohongde 68612afa09 component/bt: use osi_malloc instead of malloc in bluedroid 2022-07-11 02:48:10 +00:00
Jiang Jiang Jian 25253b22cc Merge branch 'bugfix/do_not_allow_unauthenticated_encrypted_key_data_release_v4.2' into 'release/v4.2'
esp_wifi: Ignore unauthenticated encrypted EAPOL-Key data and fix

See merge request espressif/esp-idf!18316
2022-07-10 15:59:53 +08:00
Jiang Jiang Jian c811a2c2f4 Merge branch 'bugfix/restore_edr_en_and_protect_for_vhci_env_v4.2' into 'release/v4.2'
bugfix/restore edr_en and add protect for vhci_env (v4.2)

See merge request espressif/esp-idf!18813
2022-07-10 15:49:27 +08:00
Jiang Jiang Jian 02c3414fc0 Merge branch 'bugfix/resolve_redefinition_in_spp_and_hid_v4.2' into 'release/v4.2'
bugfix/resolve redefinition in btc_spp.h and btc_hd.h/btc_hh.h (v4.2)

See merge request espressif/esp-idf!18826
2022-07-10 15:47:02 +08:00
Jiang Jiang Jian 6afad65ecb Merge branch 'bugfix/xtensa_sol_frame_saves_extra_registers_v4.2' into 'release/v4.2'
freertos: Xtensa solicited stack frame should save threadptr register (v4.2)

See merge request espressif/esp-idf!18855
2022-07-10 15:45:06 +08:00
jincheng aeeb255d35 resolve redefinition in btc_spp.h and btc_hd.h/btc_hh.h
Closes https://github.com/espressif/esp-idf/issues/9199
2022-07-08 14:23:09 +08:00
jincheng aae7b6e1ae restore edr_en which wrongly cleared by rsw
add critical protection for vhci_env_p->vhci_intr_st
ignore max_page when handle remote features
2022-07-08 14:13:08 +08:00
jincheng 24fc73c4e0 fix the issue of functions not defined when enable memory debug 2022-07-08 11:00:59 +08:00
KonstantinKondrashov 404979d71a efuse: Fix burn operation when data was written directly to regs
Closes https://github.com/espressif/esp-idf/issues/9290
2022-07-05 18:29:27 +08:00
Darian Leung 0a894c2b30 freertos: Xtensa FreeRTOS saves threadptr in solicited stack frame
The Xtensa FreeRTOS port does not save the threadptr register when
doing a voluntary yield. This can result in a crash when multiple
tasks used the threadptr register and call "taskYIELD()".

This commit adds the threadptr register to the solicited stack frame.
2022-07-04 18:26:16 +08:00
Jakob Hasse 2bcfeb612f startup: Make __cxx_eh_arena_size_get return 0 if exceptions disabled
This function is necessary to provide the emergency exception
memory pool size for C++ code.
Since our libstdc++ always has exceptions enabled, this function
must exist here even if -fno-exception is set for user code.
2022-07-01 08:32:37 +02:00
wangjialiang 3facb2dcfa ble_mesh: stack: Bugfix for proxy beacon send after reinit mesh 2022-07-01 11:50:43 +08:00
shenjun b408043d7e esp_wifi_mesh: add non mesh connections access 2022-06-30 21:19:23 +08:00
wangjialiang aa42bb3355 ble_mesh: stack: Add filter old seq_auth packet menuconfig 2022-06-23 16:22:08 +08:00
Jiang Jiang Jian 372ae83fde Merge branch 'bugfix/avdtp_genreal_reject_format_error_v4.2' into 'release/v4.2'
component_bt: Fix AVDTP general reject format error(v4.2)

See merge request espressif/esp-idf!18558
2022-06-21 20:54:34 +08:00
xiongweichao 90f464c671 update hfp_ag version to 1.7.2 2022-06-21 14:50:44 +08:00
Jiang Jiang Jian 32aa2ab24e Merge branch 'feat/epi_flash_api_iram_save_4.2' into 'release/v4.2'
spi_flash: partially move API functions out of IRAM (v4.2)

See merge request espressif/esp-idf!18304
2022-06-19 23:22:48 +08:00
Jiang Jiang Jian 8f9a3d508e Merge branch 'bugfix/idle_task_skipped_light_sleep_backport_v4.2' into 'release/v4.2'
pm_impl: fix neither enter light sleep nor enter waiti state in idle task(backport v4.2)

See merge request espressif/esp-idf!17849
2022-06-19 23:21:57 +08:00
xiongweichao cec2713416 Fix AVDTP general reject format error. 2022-06-17 10:28:50 +08:00
Hrudaynath Dhabe f66638c360 esp_wifi: Fix the negotiation of method with eap server. 2022-06-15 05:57:15 +00:00
Jiang Jiang Jian 14b204e201 Merge branch 'bugfix/pm_enabled_bt_build_fail_v4.2' into 'release/v4.2'
Bluetooth build fail when power management is enabled(v4.2)

See merge request espressif/esp-idf!18383
2022-06-15 11:07:08 +08:00
Hrudaynath Dhabe 8eb3c959dc esp_wifi: Ignore unauthenticated encrypted EAPOL-Key data and fix handling of key RSC.
Closes https://github.com/espressif/esp-idf/issues/8401
2022-06-14 18:33:27 +05:30
Michael (XIAO Xufeng) ac6f45d290 bootloader: support unlock MXIC flash chips 2022-06-09 12:41:56 +08:00
Cao Sen Miao 168880fe7b spi_flash: move the unlock patch to bootloader and add support for GD 2022-06-09 12:41:56 +08:00
Michael (XIAO Xufeng) e5ac1eb83f spi_flash: fix the corruption of ROM after calling bootloader_execute_flash_command
The user register, especially dummy related ones, needs to be restored, otherwise the ROM function will not work.

Introduced in dd40123129.
2022-06-09 12:41:56 +08:00
Michael (XIAO Xufeng) 33a8c60b2c bootloader: add xmc spi_flash startup flow to improve reliability 2022-06-09 12:41:56 +08:00
Michael (XIAO Xufeng) e1bd7b9d8f bootloader: create public bootloader_flash.h header
Move non-public functions into bootloader_flash_priv.h header
2022-06-09 12:41:56 +08:00
Michael (XIAO Xufeng) 9582cbe5b8 bootloader: fix the WRSR format for ISSI flash chips
1. The 2nd bootloader always call `rom_spiflash_unlock()`, but never help to clear the WEL bit when exit. This may cause system unstability.

   This commit helps to clear WEL when flash configuration is done.

   **RISK:** When the app starts, it didn't have to clear the WEL before it actually write/erase. But now the very first write/erase operation should be done after a WEL clear. Though the risk is little (all the following write/erase also need to clear the WEL), we still have to test this carefully, especially for those functions used by the OTA.

2. The `rom_spiflash_unlock()` function in the patch of ESP32 may (1) trigger the QPI, (2) clear the QE or (3) fail to unlock the ISSI chips.

   Status register bitmap of ISSI chip and GD chip:

| SR | ISSI | GD25LQ32C |
| -- | ---- | --------- |
| 0  | WIP  | WIP       |
| 1  | WEL  | WEL       |
| 2  | BP0  | BP0       |
| 3  | BP1  | BP1       |
| 4  | BP2  | BP2       |
| 5  | BP3  | BP3       |
| 6  | QE   | BP4       |
| 7  | SRWD | SRP0      |
| 8  |      | SRP1      |
| 9  |      | QE        |
| 10 |      | SUS2      |
| 11 |      | LB1       |
| 12 |      | LB2       |
| 13 |      | LB3       |
| 14 |      | CMP       |
| 15 |      | SUS1      |

   QE bit of other chips are at the bit 9 of the status register (i.e. bit 1 of SR2), which should be read by RDSR2 command.

   However, the RDSR2 (35H, Read Status 2) command for chip of other vendors happens to be the QIOEN (Enter QPI mode) command of ISSI chips. When the `rom_spiflash_unlock()` function trys to read SR2, it may trigger the QPI of ISSI chips.

   Moreover, when `rom_spiflash_unlock()` try to clear the BP4 bit in the status register, QE (bit 6) of ISSI chip may be cleared by accident. Or if the ISSI chip doesn't accept WRSR command with argument of two bytes (since it only have status register of one byte), it may fail to clear the other protect bits (BP0~BP3) as expected.

   This commit makes the `rom_spiflash_unlock()` check whether the vendor is issi. if so, `rom_spiflash_unlock()` only send RDSR to read the status register, send WRSR with only 1 byte argument, and also avoid clearing the QE bit (bit 6).

3. `rom_spiflash_unlock()` always send WRSR command to clear protection bits even when there is no protection bit active. And the execution of clearing status registers, which takes about 700us, will also happen even when there's no bits cleared.

   This commit skips the clearing of status register if there is no protection bits active.

Also move the execute_flash_command to be a bootloader API; move
implementation of spi_flash_wrap_set to the bootloader
2022-06-09 12:41:56 +08:00
Michael (XIAO Xufeng) a130dcd5ec test_spiffs: increase test case stack size 2022-06-09 12:41:56 +08:00
Michael (XIAO Xufeng) 51584d4f2a spi_flash: partially move API functions out of IRAM 2022-06-09 12:41:56 +08:00
Jiang Jiang Jian a3374b2d2f Merge branch 'bugfix/fix_cannot_lslp_again_after_ulp_wakeup_backport_v4.2' into 'release/v4.2'
sleep: fix cannot lightsleep again after a wakeup from ULP(backport v4.2)

See merge request espressif/esp-idf!18218
2022-06-07 11:21:42 +08:00
xiongweichao 0cb13d47cc Bluetooth build fail when power management is enabled 2022-06-06 20:28:25 +08:00
keymoon c670dc6d14 assign value to uninitialized bt_addr field 2022-05-29 18:04:53 -07:00