From d27c618ccb58e485253467e22496e253f79a5862 Mon Sep 17 00:00:00 2001 From: sarveshkumarv3 <86755931+sarveshkumarv3@users.noreply.github.com> Date: Mon, 4 May 2026 07:07:54 -0700 Subject: [PATCH] [posix] handle RCP disconnection (EOF from read()) (#13006) Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- src/posix/platform/hdlc_interface.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/posix/platform/hdlc_interface.cpp b/src/posix/platform/hdlc_interface.cpp index afe0842ef..889a06cb4 100644 --- a/src/posix/platform/hdlc_interface.cpp +++ b/src/posix/platform/hdlc_interface.cpp @@ -201,7 +201,11 @@ void HdlcInterface::Read(void) { Decode(buffer, static_cast(rval)); } - else if ((rval < 0) && (errno != EAGAIN) && (errno != EINTR)) + else if (rval == 0) + { + DieNowWithMessage("RCP device disconnected (EOF)", OT_EXIT_FAILURE); + } + else if ((errno != EAGAIN) && (errno != EWOULDBLOCK) && (errno != EINTR)) { DieNow(OT_EXIT_ERROR_ERRNO); }