From fe2055012782122c05a05b8f7ce80d5e38d3b24d Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 4 Mar 2026 22:50:13 -1000 Subject: [PATCH] Add comment explaining why no IRAM_ATTR needed on RP2040 --- esphome/components/socket/lwip_raw_tcp_impl.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/esphome/components/socket/lwip_raw_tcp_impl.cpp b/esphome/components/socket/lwip_raw_tcp_impl.cpp index e2545b8fa7..6f5bcc1023 100644 --- a/esphome/components/socket/lwip_raw_tcp_impl.cpp +++ b/esphome/components/socket/lwip_raw_tcp_impl.cpp @@ -94,6 +94,8 @@ void socket_delay(uint32_t ms) { cancel_alarm(alarm); } +// No IRAM_ATTR equivalent needed: on RP2040, CYW43 async_context runs LWIP +// callbacks via pendsv (not hard IRQ), so they execute from flash safely. void socket_wake() { s_socket_woke = true; // Wake the main loop from __wfe() sleep. __sev() is a global event that