Commit graph

4838 commits

Author SHA1 Message Date
David Cermak 58ed22461f mdns: enable pcbs before starting service thread to avoid updating pcb's internal variables from concurent tasks
possible race condition: user task runs mdns_init, which enables pcbs while mdns-task already created could execute enable/disable of the same pcbs if an appropriate system event received
2019-03-13 16:32:50 +01:00
David Cermak ed84e5aef3 mdns: fix possible deadlock on mdns deinit calling mdns_free()
mnds_free() initiates stop and delete timer tasks, which after locking the mutex could lead to a dead lock in case timer task executed before deleting the task, as it would wait indefinitelly for unlocking the mutex. This condition is fixed by calling _mdns_stop_timer without locking the mutex, because there's no need to protect any data when stopping and deleting the timer task
2019-03-13 16:32:59 +01:00
David Cermak f8310c4a67 mdsn: fix race condition in updating packet data from user task when failed to allocate or queue a new service
Issue: mdns_service_add API allocates and queues an action to be processed in mdns task context; when allocation or queueing fails, allocated structure needs to be freed. Function _mdns_free_service did not only fee all the structures, but also updates packet data.
Resolution: Moved removal of packet data outside of _mdns_free_service function.
2019-03-13 16:32:50 +01:00
David Cermak 03006a109b mdns: fix possible crash when packet scheduled to transmit contained service which might have been already removed
packets scheduled to transmit are pushed to action queue and removed from tx_queue_head structure, which is searched for all remaining services and while service is removed, then service questions/asnwers are also removed from this structure. This update fixes possible crash when packet is pushed to action queue, and when service is removed, its answers are removed from tx_queue_head, but not from action queue. this could lead to a crash when the packet is poped from action queue containing questions/answers to already removed (freed) service
2019-03-13 16:32:50 +01:00
xiehang f2f9d92131 fix the bug in auto Ip memory leak 2019-03-06 21:07:22 +08:00
xiehang 4c248f40aa fix the bug in auto Ip memory leak 2019-03-06 19:51:01 +08:00
Jiang Jiang Jian bc58f4b9ba Merge branch 'bugfix/cmake_stack_protector_v3.1' into 'release/v3.1'
esp32: disable stack protector for startup code (CMake) (backport v3.1)

See merge request idf/esp-idf!4251
2019-03-06 14:19:52 +08:00
Jiang Jiang Jian 2c3af8a18e Merge branch 'bugfix/fix_dig_gpio_unable_hold_bug_v3.1' into 'release/v3.1'
Bugfix/fix digital gpio unable hold bug  (backport v3.1)

See merge request idf/esp-idf!4354
2019-03-06 14:19:16 +08:00
Jiang Jiang Jian 39c6b2f904 Merge branch 'bugfix/btdm_fix_iOS_and_win10_compatibility_error_for_HID_v3.1' into 'release/v3.1'
Component/bt: fix iOS and win10 compatibility error  for HID (backport v3.1)

See merge request idf/esp-idf!4425
2019-03-06 14:12:31 +08:00
Ivan Grokhotkov e5b4d2e01a Merge branch 'bugfix/make_get_coreid_volatile_backport_v3.1' into 'release/v3.1'
freertos: Make xPortGetCoreID() volatile (backport v3.1)

See merge request idf/esp-idf!4378
2019-03-06 11:26:06 +08:00
kooho 3fc09372f1 driver(gpio): fixed digital gpio unable hold bug during deep-sleep for release/v3.1 . 2019-03-06 11:22:48 +08:00
Angus Gratton 6685ca4771 Merge branch 'feature/add_api_get_rmt_idle_level_v3.1' into 'release/v3.1'
Bugfix:  Fixed some RMT related issues (backport v3.1)

See merge request idf/esp-idf!4356
2019-03-06 10:39:42 +08:00
zhiweijian 1b5a77eba9 Component/bt: fix iOS and win10 compatibility error for HID 2019-03-05 20:00:18 +08:00
Ivan Grokhotkov 8fffb9d172 esp32: disable stack protector for startup code (CMake)
Files where stack protector is initialized should not be compiled with
stack protector enabled. This was done for Make but missing for CMake.

Fixes https://github.com/espressif/esp-idf/issues/2990.
2019-03-05 07:11:57 +00:00
Jiang Jiang Jian 62444346c1 Merge branch 'bugfix/fix_some_wifi_bugs_0301_v3.1' into 'release/v3.1'
esp32: fix some WiFi bugs (backport v3.1)

See merge request idf/esp-idf!4401
2019-03-05 10:33:24 +08:00
Darian Leung 4c4acd8d2f freertos: Make xPortGetCoreID() volatile
When xPortGetCoreID() is called twice within a function,
it might only be called once after compilation. This
commit makes the inline assembly of the function volatile.

Closes #3093
2019-03-01 10:49:58 +00:00
Jiang Jiang Jian 7e5ac34be7 Merge branch 'bugfix/wifi_modify_wifi_kconfig_v3.1' into 'release/v3.1'
esp32: modify WiFi Kconfig in order to achieve better compatility and performance (bakcport v3.1)

See merge request idf/esp-idf!4385
2019-03-01 18:46:36 +08:00
Jiang Jiang Jian 887ff7d685 Merge branch 'bugfix/multiple_backports_v3.1' into 'release/v3.1'
multiple backports (v3.1)

See merge request idf/esp-idf!4376
2019-03-01 18:46:10 +08:00
Jiang Jiang Jian 43dc03659e Merge branch 'bugfix/ble_reconn_rescan_readv_crash_v3.1' into 'release/v3.1'
component/bt : fix bug that there's low ratio crash when BLE do re-connect/re-scan/re-adv

See merge request idf/esp-idf!4327
2019-03-01 18:05:54 +08:00
Liu Zhi Fu 863da69c5b esp32: fix some WiFi bugs
Fix following WiFi bugs:
1. Fix the bug that STA incorrectly deletes BA when receiving DelBA request
2. Add out of memory check
3. Fix the bug that STA incorrectly receives packets when scanning in connected status
2019-03-01 12:50:39 +08:00
Ivan Grokhotkov 4e55490602 nvs: add a blob fragmentation test case
Ref. TW12937
2019-02-28 21:58:03 +08:00
Ivan Grokhotkov 7ee102a9f6 nvs: do eager cleanup of HashListBlocks
Previously when HashList was removing items, HashListBlocks were
removed lazily. This resulted in empty HashListBlocks dangling around
in full pages, even when all items have been erased. These blocks
would only be deleted when NVS was re-initialized
(nvs_flash_deinit/nvs_flash_init).

This change does eager cleanup instead, based on the code from
@negativekelvin offered in
https://github.com/espressif/esp-idf/issues/1642#issuecomment-367227994.

Closes https://github.com/espressif/esp-idf/issues/1642.
2019-02-28 21:58:03 +08:00
Ivan Grokhotkov 70a9e72e06 esp_timer: fix occasional failures in "monotonic values" test
1. ref_clock used in unit tests occasionally produces time off by ~100
microseconds shortly after being started. Add a delay to let
ref_clock stabilise, until the cause is found.

2. Reduce roundoff error accumulation which would occasionally cause
the test to fail, by choosing an overflow value which can be divided
by APB frequency.

3. Move time sampling part of the test into an IRAM function to
reduce variations due to cache behavior.

4. Remove calculation of "standard deviation" in the test, as what was
calculated was not actually standard deviation, and it did not add any
useful information.
2019-02-28 21:58:03 +08:00
Ivan Grokhotkov 9cfd94a9d6 esp_timer: improve unit test robustness
1. call esp_timer_get_time and ref_clock_get in the same order on
   start and in the loop

2. disable interrupts when calculating delta between ref_clock
   and esp_timer

3. ensure both functions are in cache before calculating the delta
2019-02-28 21:58:03 +08:00
Ivan Grokhotkov 48416c38c8 soc: define named constants for DPORT_CPUPERIOD_SEL values 2019-02-28 21:58:03 +08:00
Ivan Grokhotkov beb8347faa bootloader: check previously used clock frequency at run time
In the situation when bootloader was compiled for 240MHz, and app was
compiled for 160MHz, and the chip is a revision 0 chip, the
bootloader will assume that the application has also been running at
240MHz. This will cause the chip to lock up later. Modify this to use
a run time check of DPORT_CPUPERIOD_SEL, which indicates which of the
PLL frequencies was used.

Closes https://github.com/espressif/esp-idf/issues/2731.
2019-02-28 21:58:03 +08:00
Ivan Grokhotkov 450118fdf8 soc/rtc_clk: don’t clear DPORT_CPUPERIOD_SEL when switching to XTAL
This is not necessary since RTC_CNTL_SOC_CLK_SEL is set before this.
2019-02-28 21:58:03 +08:00
Jiang Jiang Jian 2f14aeee00 Merge branch 'bugfix/fix_scan_bugs_and_alloc_eb_fail_v3.1' into 'release/v3.1'
wifi: fix scan bugs and alloc eb fail (backport v3.1)

See merge request idf/esp-idf!4389
2019-02-28 21:31:49 +08:00
Jiang Jiang Jian 42383518b8 Merge branch 'bugfix/enlarge_ethernet_stack_size_v3.1' into 'release/v3.1'
enlarge ethernet task stack size (backport v3.1)

See merge request idf/esp-idf!4369
2019-02-28 18:23:28 +08:00
zhangyanjiao fb15403515 wifi changes:
1. make menuconfig can set the WiFi mgmt short buffer num
2. fix several scan bugs
2019-02-28 15:40:56 +08:00
XiaXiaotian 8a20519222 esp32: modify WiFi Kconfig in order to achieve better compatility
and performance
2019-02-28 10:06:06 +08:00
Jiang Jiang Jian 98ed70cd91 Merge branch 'doc/btdm_modem_sleep_EVED_mode_for_v3.1' into 'release/v3.1'
doc/btdm_modem_sleep_EVED_mode_for_v3.1(backport v3.1)

See merge request idf/esp-idf!4361
2019-02-27 18:36:04 +08:00
morris ed1771c7cc ethernet: enlarge ethernet task stack size
1. In original driver, the stack size for emac driver task "emacT" is only 2048 Bytes, which also can not be changed by user.
2. Each time when invoking "emac_start" function, it will reset emac registers, the driver should reconfig some important registers again.

Closes https://github.com/espressif/esp-idf/issues/3025
2019-02-27 15:21:09 +08:00
wangmengyang 1bd674dc64 component/bt: add more information and description for bluetooth modem sleep
Add remark that "EVED" mode for bluetooth modem sleep is only used for internal test
2019-02-27 10:51:15 +08:00
Paul Abbott 285a0aa13c driver(rmt): Fixed some RMT related issues for release/v3.1.
1. Add missing get function to RMT API: rmt_get_idle_level().
2. Suppress error message from rmt_wait_tx_done() if wait_time==0 (allows for polling).
3. Remove the blank lines between parameter lists.

Merges https://github.com/espressif/esp-idf/pull/2666
2019-02-26 20:35:28 +08:00
Liu Zhi Fu a019517d07 esp32: make WiFi IRAM optimization configurable
With this feature, the WiFi IRAM optimization can be disabled/enabled via menuconfig.
2019-02-26 19:26:02 +08:00
Tian Hao f57d5db86d component/bt : fix bug that there's low ratio crash when BLE do re-connect/re-scan/re-adv
fix 3 bugs:
1. do BLE connect (both of slave and master), it mgiht cause crash due to there's much interrupts happens effect ble code running, for example, wifi run on the same core as bluetooth controller and wifi run throughtput test.
2. do BLE scan stop or adv stop or connection stop, it might cause ASSERT or crash due to memory corrupted in controller memory poll.
3. minor bug fix, not really effect bluetooth.
2019-02-25 13:41:51 +00:00
Jiang Jiang Jian 57118e2f10 Merge branch 'bugfix/btdm_backport_v3.1' into 'release/v3.1'
component/bt: backport some MRs to v3.1

See merge request idf/esp-idf!4312
2019-02-21 18:24:45 +08:00
Jiang Jiang Jian 03527e840c Merge branch 'bugfix/btdm_fix_connection_params_update_issues_v3.1' into 'release/v3.1'
component/bt:fix connection params update issues (backport v3.1)

See merge request idf/esp-idf!4298
2019-02-21 11:47:58 +08:00
zhiweijian 191cad0398 Component/bt: fix get attr value API error 2019-02-20 17:57:14 +08:00
zhiweijian 454268da00 Component/bt: fix ble cannot send or receive packet sometimes 2019-02-20 17:56:55 +08:00
zhiweijian 5e048a9ebb Component/bt: add scan window and interval check when set scan params 2019-02-20 17:56:36 +08:00
Jiang Jiang Jian ce83031571 Merge branch 'bugfix/mdns_crash_free_strdup_3.1' into 'release/v3.1'
mdns: fixed crash on free undefined ptr if strdup is skipped (Backport 3.1)

See merge request idf/esp-idf!4189
2019-02-20 02:15:51 +08:00
Jiang Jiang Jian 298aafd112 Merge branch 'bugfix/coex_lc_protect_v3.1' into 'release/v3.1'
component/esp32 : fix coexist lc protect cause memory corrupted

See merge request idf/esp-idf!4266
2019-02-20 02:11:29 +08:00
zwj f8f96c368b component/bt:fix connection params update issues 2019-02-19 20:43:28 +08:00
baohongde 6743820bce components/bt: Add precautions for esp_vhci_host_send_packet (backport 3.1) 2019-02-15 17:56:59 +08:00
baohongde 3e06ad6af9 components/bt: Fix crash when inquiry stop (backport 3.1) 2019-02-15 17:53:55 +08:00
Tian Hao 1c6b0bf925 component/esp32 : fix coexist lc protect cause memory corrupted
The bug will cause memory corrupted (the largest range is from 0x3ffc0000 ~ 0x3ffc8000),
some strange error will happen, like IllegalInstruction, LoadProhibited and .etc.
2019-02-15 16:13:30 +08:00
Jiang Jiang Jian ef2bf23862 Merge branch 'bugfix/fix_some_wifi_bugs_0131_v3.1' into 'release/v3.1'
esp32: fix some wifi bugs  (backport v3.1)

See merge request idf/esp-idf!4219
2019-02-15 12:15:04 +08:00
Angus Gratton cf5dbadf4f Merge branch 'bugfix/backtrace_from_interrupts_backport_v3.1' into 'release/v3.1'
Make backtrace work across interrupts (backport v3.1)

See merge request idf/esp-idf!4182
2019-02-13 16:53:39 +08:00