diff --git a/src/decoder.rs b/src/decoder.rs index 6500e6279..b609e6264 100644 --- a/src/decoder.rs +++ b/src/decoder.rs @@ -92,10 +92,11 @@ impl Decoder { self.reset(); let message = self.message.clone(); self.message = ProtocolMessage::new(); - if message.has_valid_crc() { - return DecoderResult::Success(message); + if !message.has_valid_crc() { + return DecoderResult::Error(ParseError::ChecksumError(message)); } - return DecoderResult::Error(ParseError::ChecksumError(message)); + + return DecoderResult::Success(message); } return DecoderResult::InProgress; }