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 183b74c558

Signed-off-by: Gregor Copoix <gregor.copoix@ithinx.io>
This commit is contained in:
Gregor Copoix 2025-05-11 13:43:05 +00:00 committed by Anas Nashif
commit 3da78086ae

View file

@ -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;
}