summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--zephyr/modusocket.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/zephyr/modusocket.c b/zephyr/modusocket.c
index 2fa04a64ac..5700cc4bd2 100644
--- a/zephyr/modusocket.c
+++ b/zephyr/modusocket.c
@@ -373,11 +373,12 @@ STATIC mp_uint_t sock_read(mp_obj_t self_in, void *buf, mp_uint_t max_len, int *
} else if (sock_type == SOCK_STREAM) {
do {
- if (socket->state == STATE_PEER_CLOSED) {
- return 0;
- }
if (socket->cur_buf == NULL) {
+ if (socket->state == STATE_PEER_CLOSED) {
+ return 0;
+ }
+
DEBUG_printf("TCP recv: no cur_buf, getting\n");
struct net_buf *net_buf = k_fifo_get(&socket->recv_q, K_FOREVER);
// Restore ->frags overwritten by fifo