From 17efcd281016a105b8cc594db13df8b17dffa457 Mon Sep 17 00:00:00 2001 From: Dhimas Ardinata Date: Sun, 24 May 2026 22:29:54 +0700 Subject: [PATCH] fix(esp_eth): make openeth ISR log DRAM-safe Keep the ISR from touching flash-resident log strings while cache is disabled. Closes #18644 --- components/esp_eth/src/openeth/esp_eth_mac_openeth.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/components/esp_eth/src/openeth/esp_eth_mac_openeth.c b/components/esp_eth/src/openeth/esp_eth_mac_openeth.c index 0cf8d914423..347fde88828 100644 --- a/components/esp_eth/src/openeth/esp_eth_mac_openeth.c +++ b/components/esp_eth/src/openeth/esp_eth_mac_openeth.c @@ -18,6 +18,7 @@ #include #include #include +#include "esp_attr.h" #include "esp_log.h" #include "esp_check.h" #include "esp_cpu.h" @@ -28,7 +29,7 @@ #include "esp_mac.h" #include "esp_eth_mac_openeth.h" -static const char *TAG = "opencores.emac"; +static DRAM_ATTR const char TAG[] = "opencores.emac"; // Driver state structure typedef struct { @@ -64,7 +65,7 @@ static IRAM_ATTR void emac_opencores_isr_handler(void *args) } if (status & OPENETH_INT_BUSY) { - ESP_EARLY_LOGW(TAG, "%s: RX frame dropped (0x%" PRIx32 ")", __func__, status); + ESP_DRAM_LOGW(TAG, "RX frame dropped (0x%" PRIx32 ")", status); } // Clear interrupt