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>
This commit is contained in:
Soumyajyotii Ssarkar 2025-11-06 21:06:23 +05:30 committed by Helge Deller
parent 32878c6b4a
commit 343166a084

View file

@ -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);