i82596: Remove crc_valid variable
While testing and developing for the HPUX 10.20 the crc_valid variable
was used in performing CRC checks for the loopback. I expected the
CRC to be absent on specific condition and would skip some
functional checks for the loopback packet, so initially it added
a if-clause that would skip the checks preventing HPUX from
getting stuck at phase loopback.
However, we can remove it, and this then fixes Coverity CID 1642868.
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Soumyajyotii Ssarkar <soumyajyotisarkar23@gmail.com>
Reviewed-by: Helge Deller <deller@gmx.de>
Signed-off-by: Helge Deller <deller@gmx.de>
diff --git a/hw/net/i82596.c b/hw/net/i82596.c
index 37dcc03..fb6b54f 100644
--- a/hw/net/i82596.c
+++ b/hw/net/i82596.c
@@ -992,7 +992,6 @@
size_t payload_size = 0;
size_t bytes_copied = 0;
const uint8_t *packet_data = buf;
- bool crc_valid = true;
bool out_of_resources = false;
size_t crc_size = i82596_get_crc_size(s);
@@ -1155,16 +1154,11 @@
}
}
- if (packet_completed && crc_valid) {
+ if (packet_completed) {
rx_status |= STAT_C | STAT_OK;
if (is_broadcast) {
rx_status |= 0x0001;
}
- } else if (packet_completed) {
- rx_status |= STAT_C;
- if (!crc_valid) {
- rx_status |= RX_CRC_ERRORS;
- }
} else {
rx_status |= STAT_B;
}
@@ -1187,7 +1181,7 @@
return size;
}
- if (packet_completed && crc_valid && s->rx_status == RX_READY) {
+ if (packet_completed && s->rx_status == RX_READY) {
uint32_t next_rfd_addr = i82596_translate_address(s, rfd.link, false);
if (next_rfd_addr != 0 && next_rfd_addr != I596_NULL) {
set_uint32(s->scb + 8, next_rfd_addr);