diff --git a/src/ebusd/bushandler.cpp b/src/ebusd/bushandler.cpp index 619e2933..3b7ba3c2 100644 --- a/src/ebusd/bushandler.cpp +++ b/src/ebusd/bushandler.cpp @@ -160,7 +160,7 @@ result_t BusHandler::sendAndWait(SymbolString& master, SymbolString& slave) logError(lf_bus, "%s, give up", getResultCode(result)); break; } - logError(lf_bus, "%s, %s", getResultCode(result), sendRetries>0 ? "retry send" : ""); + logError(lf_bus, "%s%s", getResultCode(result), sendRetries>0 ? ", retry" : ""); request.m_busLostRetries = 0; } @@ -634,7 +634,9 @@ result_t BusHandler::setState(BusState state, result_t result, bool firstRepetit } m_seenAddresses[dstAddress] = true; } - bool restart = m_currentRequest->notify(result, m_response); + bool restart = m_currentRequest->notify( + result == RESULT_ERR_SYN && (m_state == bs_recvCmdAck || m_state == bs_recvRes) ? RESULT_ERR_TIMEOUT : result, m_response + ); if (restart) { m_currentRequest->m_busLostRetries = 0; m_nextRequests.add(m_currentRequest);