Commit Graph

12693 Commits

Author SHA1 Message Date
Karl Wang
7b3d4d5074 component/bt: use OSI utility "osi_event" for HCI downstream data processing 2022-08-04 14:27:34 +08:00
wangmengyang
6ffe0a5262 component/bt: consider to handle HCI LE Direct Advertising Report 2022-08-04 14:27:33 +08:00
Karl Wang
ca945e8211 component/bt: allocate and use one static buffer for HCI adv flow control command 2022-08-04 14:27:33 +08:00
wangmengyang
20705588b2 component/bt: use fixed_pkt_queue instead of fixed_queue for hci commands
some fixes after modifications:
  1. removed the use of waiting_command_t
  2. fix assert for HCI write_eir command
  3. fixed the crash upon handling command status event when trying to free to the HCI command buffer
  4. fixed the issue in transmitting HCI vendor specific commands
  5. fixed the lost command complete callbacks for HCI commands LE_RAND and LE_ENCRYPT
2022-08-04 14:27:32 +08:00
wangmengyang
dd02446224 component/bt: add a timer to monitor the adv flow control credits downwards procedure 2022-08-04 14:27:32 +08:00
wangmengyang
2da8b2c78b component/bt: fix adv report flow control logic, give ADV report credits every 10 packets 2022-08-04 14:27:32 +08:00
wangmengyang
64572b7ff2 component/bt: add simple ADV flow control mechanism -- drop the packets when the adv report queues are considered full 2022-08-04 14:27:31 +08:00
wangmengyang
e406be3cf4 component/bt: use the OSI utility "osi_event" to handle adv report in btc_layer 2022-08-04 14:27:31 +08:00
wangmengyang
f16e5df27f component/bt: use the OSI utility "pkt_queue" to store ADV report packet in btu layer
# Conflicts:
#	components/bt/host/bluedroid/hci/hci_hal_h4.c
2022-08-04 14:27:30 +08:00
wangmengyang
09a79cf90a component/bt: use the OSI utility "osi_event" for hci_hal_h4 upstream data packets handling 2022-08-04 14:27:30 +08:00
wangmengyang
622148d491 component/bt: use the OSI utility "osi_event" to handle A2DP source data Tx processing 2022-08-04 14:27:29 +08:00
wangmengyang
ed509a8d52 component/bt: use the OSI utility "osi_event" to handle A2DP sink data Rx processing 2022-08-04 14:27:26 +08:00
wangmengyang
fb01677372 component/bt: add new OSI utility "fixed_pkt_queue", which has same functionality with "fixed_queue" 2022-08-04 14:25:03 +08:00
Karl Wang
3c14e739f0 component/bt: add new OSI utility "pkt_queue" which acts as a mutex-protected linked list, to be used as data queue between tasks 2022-08-04 14:25:03 +08:00
wangmengyang
0f4c9a47f1 component/bt: add new OSI utility "osi_event" to support the scenario that event need only to be handle once. 2022-08-04 14:25:02 +08:00
wangmengyang
26d2011442 component/bt: make OSI thread workqueue length configurable through API
reduce the length of workqueue1 for BTC and HCI task

# Conflicts:
#	components/bt/common/osi/thread.c
2022-08-04 14:25:02 +08:00
wangmengyang
b1cded8e48 component/bt: modify the implementation of osi_thread using freeRTOS queue 2022-08-04 14:25:01 +08:00
Jiang Jiang Jian
bfb2fee42a Merge branch 'bugfix/wlan_fixes_backports_v4.3' into 'release/v4.3'
esp_wifi: Fix some wlan issues(backport v4.3)

See merge request espressif/esp-idf!19359
2022-08-03 21:16:39 +08:00
Kapil Gupta
dc386c71b1 wpa_supplicant: Unicast key renew in TKIP mic failure
Currently we always request group key renew for during
TKIP mic failure. Add support for unicast/multicast
key renew as per packet.
2022-08-03 14:55:56 +05:30
Kapil Gupta
77661ba436 esp_wifi: Add APIs to check BTM and RRM support of connected AP 2022-08-03 11:35:44 +05:30
Kapil Gupta
3e789d4ed4 esp_wifi: Changes to not use pmkid caching when SSID is changed 2022-08-03 11:26:40 +05:30
Kapil Gupta
eb448172e9 wpa_supplicant: Fix issues reported by coverity 2022-08-03 11:26:31 +05:30
Jiang Jiang Jian
7b10f3264a Merge branch 'bugfix/fix_esptouch_v2_found_none_issue_v4.3' into 'release/v4.3'
esp_wifi: fix the bug that check whether bssid is zero mac(Backport v4.3)

See merge request espressif/esp-idf!19281
2022-08-03 13:17:00 +08:00
Ivan Grokhotkov
7d383bb5fb Merge branch 'bugfix/systimer_counter_value_bit_field_v4.3' into 'release/v4.3'
HAL: Fix systimer counter value bit field (v4.3)

See merge request espressif/esp-idf!18253
2022-08-02 16:48:29 +08:00
Jiang Jiang Jian
5eb176082d Merge branch 'bugfix/memory_debug_not_work_v4.3' into 'release/v4.3'
bugfix/fix the dependency error of macro for memory debug (v4.3)

See merge request espressif/esp-idf!19236
2022-08-02 15:50:06 +08:00
Jiang Jiang Jian
658b4026c9 Merge branch 'bugfix/fix_legacy_pair_not_send_link_key_host_v4.3' into 'release/v4.3'
component_bt: fix legacy pair controller does not send the link key to the host (v4.3)

See merge request espressif/esp-idf!19321
2022-08-02 14:41:24 +08:00
Jiang Jiang Jian
3f88df5046 Merge branch 'bugfix/put_sempher_and_queue_used_in_isr_into_DRAM_v4.3' into 'release/v4.3'
Make sure semphr/queue used in interrupt is in DRAM

See merge request espressif/esp-idf!18989
2022-08-02 11:32:05 +08:00
Jiang Jiang Jian
588e9801a3 Merge branch 'bugfix/fix_ble_ke_mem_c_assert_on_c3_s3_v4.3' into 'release/v4.3'
Fixed BLE ke_mem.c assert on ESP32C3 for v4.3

See merge request espressif/esp-idf!18900
2022-08-01 21:10:59 +08:00
xiongweichao
c6671788d2 fix legacy pair controller does not send the link key to the host
Closes https://github.com/espressif/esp-idf/issues/5850
2022-08-01 20:31:26 +08:00
Jiang Jiang Jian
896090ce12 Merge branch 'bugfix/fix_bluedroid_host_memory_overflow_v4.3' into 'release/v4.3'
Fixed bluedroid host memory overflow for v4.3

See merge request espressif/esp-idf!18904
2022-08-01 19:41:29 +08:00
Jiang Jiang Jian
69ac4dd716 Merge branch 'bugfix/qatest_spp_crash_v4.3' into 'release/v4.3'
bugfix/qatest spp crash (v4.3)

See merge request espressif/esp-idf!19239
2022-08-01 19:41:09 +08:00
Michael (XIAO Xufeng)
3a88cf8b49 Merge branch 'bugfix/reserve_dma_ram_in_segments_v4.3' into 'release/v4.3'
psram: reserve dma pool in the step of heap max block (v4.3)

See merge request espressif/esp-idf!18859
2022-08-01 17:14:39 +08:00
Jiang Jiang Jian
6c38c6b176 Merge branch 'bugfix/add_multiple_scan_mode_v4.3' into 'release/v4.3'
Bugfix: Connect example to add scan mode config

See merge request espressif/esp-idf!19124
2022-07-29 10:58:32 +08:00
muhaidong
eed82f378e esp_wifi: fix the bug that check whether bssid is zero mac 2022-07-28 21:53:30 +08:00
Jiang Jiang Jian
11508b6fbe Merge branch 'bufix/Backport_some_wifi_lwip_bugs_for_4.3_0719' into 'release/v4.3'
Backport some wifi&lwip bugs for 4.3 0719

See merge request espressif/esp-idf!19110
2022-07-28 16:03:49 +08:00
wanlei
846b51fe15 param: fixed heap pool reservation for DMA/internal usage fail issue
As heap block may be allocated into multiple non-continuous chunks, to
reserve enough memory for dma/internal usage, we do the malloc in the
step of max available block.
2022-07-28 10:15:53 +08:00
jincheng
af5b3e600e 1. add protect for bt_util_buf_env buffers when multi-access
2. ignore assert_err in em_bt_clkoff1_setf
2022-07-27 18:02:54 +08:00
Mahavir Jain
949a6a8d3f Merge branch 'bugfix/freertos_event_group_unblock_race_condition_v4.3' into 'release/v4.3'
FreeRTOS: Fix event group task list race condition (v4.3)

See merge request espressif/esp-idf!19104
2022-07-27 12:25:39 +08:00
xueyunfei
e7e962b8d0 lwip:add function for deinit lwip timers 2022-07-26 09:55:39 +00:00
xueyunfei
bc61578d68 esp_wifi: backport some wifi fix
1 Bugfix for wrong config of static txbuf

     2 fix bug that qos data will update BA SSN

     3 reset beacon timeout timer

     4 Bugfix for close sniffer mode when wifi stop

     5 update wifi header files
2022-07-26 09:55:39 +00:00
xueyunfei
61b1b2ac12 Icmp: get tos parameter in icmp reply
bugfix for add ttl for ping socket
2022-07-26 09:55:39 +00:00
Jeff H
55e69bf9cb add option to route LWIP logs through ESP_LOG interface
Signed-off-by: xueyunfei <xueyunfei@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/8785
Closes https://github.com/espressif/esp-idf/issues/8361
2022-07-26 09:55:39 +00:00
Jessy Chen
63cb1da0b6 esp_wifi: update esp_wifi_internal_set_fix_rate usage 2022-07-26 09:55:39 +00:00
Jessy Chen
6e84f737a9 esp_wifi: update noise floor unit 2022-07-26 09:55:39 +00:00
xueyunfei
5b614cd3e4 Doc:update wifi api docs
* Add documents related to espnow config rate

* Optimization set dns server api description
2022-07-26 09:55:39 +00:00
David Čermák
96bd791c74 Merge branch 'bugfix/set_ipv6_dns_error_v4.3' into 'release/v4.3'
lw ip: Fixed that ipv6 dns cannot work (v4.3)

See merge request espressif/esp-idf!19063
2022-07-25 22:44:38 +08:00
baohongde
8ac667b763 components/coex: Make sure sempher and queue used in isr is in DRAM
Closes https://github.com/espressif/esp-idf/issues/9032
Closes https://github.com/espressif/esp-idf/issues/8928
Closes https://github.com/espressif/esp-idf/issues/9129
2022-07-25 11:37:06 +08:00
baohongde
f85c30a73c components/bt: Make sure sempher and queue used in isr is in DRAM 2022-07-25 11:35:44 +08:00
Darian Leung
bfb4a0c9df 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-25 03:01:16 +00:00
Darian Leung
ad39eaaeb0 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-25 03:01:16 +00:00