diff --git a/cpu/esp8266/esp-wifi/esp_wifi_netdev.c b/cpu/esp8266/esp-wifi/esp_wifi_netdev.c index e03f48d49ede220bdd15c1cef41bc28838238041..ac923b2001ecfa93d4d62d7a553a586d0b9a0761 100644 --- a/cpu/esp8266/esp-wifi/esp_wifi_netdev.c +++ b/cpu/esp8266/esp-wifi/esp_wifi_netdev.c @@ -514,7 +514,12 @@ extern err_t __real_ethernet_input(struct pbuf *pb, struct netif* netif); err_t __wrap_ethernet_input(struct pbuf *pb, struct netif* netif) { ESP_WIFI_DEBUG("%p %p", pb, netif); - _esp_wifi_recv_cb(pb, netif); + if (_esp_wifi_dev.state == ESP_WIFI_CONNECTED) { + _esp_wifi_recv_cb(pb, netif); + } + else { + __real_ethernet_input(pb, netif); + } return ERR_OK; }