From d42d785455789d3a3145fa19ab1068c2b8fc1e70 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 2883a64680f..0496dac1b04 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 { @@ -63,7 +64,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