serialbridge: Fix checksum data byte escaping

Checksum in response packet should check for data byte escaping.

Tested with ipmitool.

Change-Id: I6b0fbb635480adfb87d8cbef6feca8bed6213f34
Signed-off-by: John Chung <john.chung@arm.com>
diff --git a/transport/serialbridge/serialcmd.cpp b/transport/serialbridge/serialcmd.cpp
index 696515a..68622d8 100644
--- a/transport/serialbridge/serialcmd.cpp
+++ b/transport/serialbridge/serialcmd.cpp
@@ -188,13 +188,15 @@
 
         // Assemble connection header and checksum
         checksum = processEscapedCharacter(responseBuffer, connectionHeader);
-        responseBuffer.push_back(-checksum); // checksum1
+        checksum = static_cast<uint8_t>(~checksum + 1); // checksum1
+        processEscapedCharacter(responseBuffer, std::vector<uint8_t>{checksum});
 
         // Assemble response message and checksum
         checksum = processEscapedCharacter(responseBuffer, messageHeader);
         checksum +=
             processEscapedCharacter(responseBuffer, std::vector<uint8_t>(data));
-        responseBuffer.push_back(-checksum); // checksum2
+        checksum = static_cast<uint8_t>(~checksum + 1); // checksum2
+        processEscapedCharacter(responseBuffer, std::vector<uint8_t>{checksum});
 
         // bmStop
         responseBuffer.push_back(bmStop);