Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ESP32] Enable LWIP_TCPIP_CORE_LOCKING by default and added static assert for the same #28798

Merged
merged 3 commits into from
Aug 25, 2023

Conversation

shubhamdp
Copy link
Contributor

Related to #28590 and followup for #28655

Change Overview

  • [ESP32] Enable LWIP_TCPIP_CORE_LOCKING by default and acquire lwip locks when initializing route_hook
  • inet: static assert if LWIP_TCPIP_CORE_LOCKING is disabled
  • Static assert is disabled for ASR and bouffalolab platforms

Tests

Locally built the ESP32 lighting-app and tested commissioning and wildcard subscription.

Static assert is disabled for ASR and bouffalolab platforms
@shubhamdp shubhamdp force-pushed the esp32_lwip_thread_safe branch from a474ded to ac45872 Compare August 22, 2023 11:17
@shubhamdp shubhamdp closed this Aug 22, 2023
@shubhamdp shubhamdp reopened this Aug 22, 2023
@shubhamdp shubhamdp marked this pull request as draft August 22, 2023 11:19
@shubhamdp shubhamdp marked this pull request as ready for review August 22, 2023 11:19
@andy31415 andy31415 marked this pull request as draft August 22, 2023 13:08
@andy31415 andy31415 marked this pull request as ready for review August 22, 2023 13:08
config/esp32/components/chip/Kconfig Outdated Show resolved Hide resolved
@andy31415 andy31415 merged commit b99c5b9 into project-chip:master Aug 25, 2023
abpoth pushed a commit to abpoth/connectedhomeip that referenced this pull request Aug 25, 2023
…sert for the same (project-chip#28798)

* [ESP32] Enable LWIP_TCPIP_CORE_LOCKING by default and acquire lwip locks
when initializing route_hook

* inet: static assert if LWIP_TCPIP_CORE_LOCKING is disabled

Static assert is disabled for ASR and bouffalolab platforms

* typo
HunsupJung pushed a commit to HunsupJung/connectedhomeip that referenced this pull request Oct 23, 2023
…sert for the same (project-chip#28798)

* [ESP32] Enable LWIP_TCPIP_CORE_LOCKING by default and acquire lwip locks
when initializing route_hook

* inet: static assert if LWIP_TCPIP_CORE_LOCKING is disabled

Static assert is disabled for ASR and bouffalolab platforms

* typo
@shubhamdp shubhamdp deleted the esp32_lwip_thread_safe branch December 27, 2023 05:20
shubhamdp added a commit to shubhamdp/connectedhomeip that referenced this pull request Feb 29, 2024
…sert for the same (project-chip#28798)

* [ESP32] Enable LWIP_TCPIP_CORE_LOCKING by default and acquire lwip locks
when initializing route_hook

* inet: static assert if LWIP_TCPIP_CORE_LOCKING is disabled

Static assert is disabled for ASR and bouffalolab platforms

* typo
chshu pushed a commit that referenced this pull request Mar 12, 2024
* inet: ScopedLwIPLock for better safety and added locks at necessary places (#28655)

* inet: scoped lwip locks for better safety and add at few more places

* Do not static assert if LWIP_TCPIP_CORE_LOCKING is disabled

* Add scope for locks

* move out the error variable definition to the top

* [ESP32] Enable LWIP_TCPIP_CORE_LOCKING by default and added static assert for the same (#28798)

* [ESP32] Enable LWIP_TCPIP_CORE_LOCKING by default and acquire lwip locks
when initializing route_hook

* inet: static assert if LWIP_TCPIP_CORE_LOCKING is disabled

Static assert is disabled for ASR and bouffalolab platforms

* typo

* UDPEndPointImplLwIP: Support LWIP_TCPIP_CORE_LOCKING=0 (#29057)

Wrap calls to LwIP APIs in `tcpip_api_call()`, as required.
When `LWIP_TCPIP_CORE_LOCKING` is enabled, this internally becomes `LOCK_TCPIP_CORE/UNLOCK_TCPIP_CORE`
and when it isn't, it posts a message to the TCPIP task to run the function.

Added CHIP stack locking to the UDP receive function.

---------

Co-authored-by: Deomid Ryabkov <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants