From 3da78086aeeeb83fea9573c7c28604cc34086d08 Mon Sep 17 00:00:00 2001 From: Gregor Copoix Date: Sun, 11 May 2025 13:43:05 +0000 Subject: [PATCH] driver: wifi: esp32: fix send data for AP_STA mode Fixes the check for connected interface if CONFIG_ESP32_WIFI_AP_STA_MODE=y (different data objects for STA (esp32_data) and AP (esp32_ap_sta_data)). As the correct data object is linked to device object, we can check for ESP32_STA_CONNECTED or ESP32_AP_CONNECTED in dev->data. This fixes AP mode in samples/net/wifi/apsta_mode if STA WIFI_SSID/WIFI_PSK are invalid and no STA connection can be established before (samples/net/wifi/apsta_mode/src/main.c#L28-L29) for all ESP32 derivates. Fixes false check from https://github.com/zephyrproject-rtos/zephyr/commit/183b74c558ed3ed34636fc29940b2fda048a382a Signed-off-by: Gregor Copoix --- drivers/wifi/esp32/src/esp_wifi_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/wifi/esp32/src/esp_wifi_drv.c b/drivers/wifi/esp32/src/esp_wifi_drv.c index 06cc6781387..305994d6a32 100644 --- a/drivers/wifi/esp32/src/esp_wifi_drv.c +++ b/drivers/wifi/esp32/src/esp_wifi_drv.c @@ -95,7 +95,7 @@ static int esp32_wifi_send(const struct device *dev, struct net_pkt *pkt) const int pkt_len = net_pkt_get_len(pkt); esp_interface_t ifx = data->state == ESP32_AP_CONNECTED ? ESP_IF_WIFI_AP : ESP_IF_WIFI_STA; - if (esp32_data.state != ESP32_STA_CONNECTED && esp32_data.state != ESP32_AP_CONNECTED) { + if (data->state != ESP32_STA_CONNECTED && data->state != ESP32_AP_CONNECTED) { return -EIO; }