From 66766581c9c9749042476b9f9ab9c85846e4d943 Mon Sep 17 00:00:00 2001 From: Marcin Niestroj Date: Thu, 1 Jul 2021 16:28:22 +0200 Subject: [PATCH] drivers: wifi: esp_at: notify send() caller about pending close If stream socket is marked as pending close, make sure that send() caller gets notified about it, so that application layer can decide to stop trying to send anything more. Signed-off-by: Marcin Niestroj --- drivers/wifi/esp_at/esp_offload.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/wifi/esp_at/esp_offload.c b/drivers/wifi/esp_at/esp_offload.c index e3b5d2a8514..6ddff56c583 100644 --- a/drivers/wifi/esp_at/esp_offload.c +++ b/drivers/wifi/esp_at/esp_offload.c @@ -376,7 +376,10 @@ static int esp_sendto(struct net_pkt *pkt, } if (esp_socket_type(sock) == SOCK_STREAM) { - if (!esp_socket_connected(sock)) { + atomic_val_t flags = esp_socket_flags(sock); + + if (!(flags & ESP_SOCK_CONNECTED) || + (flags & ESP_SOCK_CLOSE_PENDING)) { return -ENOTCONN; } } else {