From: Soumyajyotii Ssarkar <[email protected]> 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 <[email protected]> Signed-off-by: Soumyajyotii Ssarkar <[email protected]> Reviewed-by: Helge Deller <[email protected]> Signed-off-by: Helge Deller <[email protected]> --- hw/net/i82596.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/hw/net/i82596.c b/hw/net/i82596.c index 37dcc0387b..fb6b54fd71 100644 --- a/hw/net/i82596.c +++ b/hw/net/i82596.c @@ -992,7 +992,6 @@ static ssize_t i82596_receive_packet(I82596State *s, const uint8_t *buf, 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 @@ rx_complete: } } - 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 @@ rx_complete: 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); -- 2.51.1
