From a7feeee1e03900cbf258c54abce182b05d38b800 Mon Sep 17 00:00:00 2001
From: Volker Christian <me@vchrist.at>
Date: Wed, 9 Oct 2024 20:32:50 +0200
Subject: [PATCH] [SX1276, LoRaWAN] Fix confusing return value in
 LoRaWAN::processJoinAccept (#1262)

The error RADIOLIB_ERR_LORA_HEADER_DAMAGED board returned fromreadData(...)
and signaled from a SX1276 is in fact correctly ignored but the state
variable is not corrected.

This confuses the caller due to the wrongly returned state value
RADIOLIB_ERR_LORA_HEADER_DAMAGED.

Change: Clear state also.
---
 src/protocols/LoRaWAN/LoRaWAN.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/protocols/LoRaWAN/LoRaWAN.cpp b/src/protocols/LoRaWAN/LoRaWAN.cpp
index cd71f856..5e994c67 100644
--- a/src/protocols/LoRaWAN/LoRaWAN.cpp
+++ b/src/protocols/LoRaWAN/LoRaWAN.cpp
@@ -688,6 +688,8 @@ int16_t LoRaWANNode::processJoinAccept(LoRaWANJoinEvent_t *joinEvent) {
   // we can ignore that error
   if(state != RADIOLIB_ERR_LORA_HEADER_DAMAGED) {
     RADIOLIB_ASSERT(state);
+  } else {
+    state = RADIOLIB_ERR_NONE;
   }
 
   // check reply message type