mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-23 19:49:43 +00:00
rtl8139: cleanup FCS calculation
clean out ifdef's around ethernet checksum calculation Signed-off-by: Benjamin Poirier <benjamin.poirier@gmail.com> Acked-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> Cc: Jason Wang <jasowang@redhat.com> Cc: Michael S. Tsirkin <mst@redhat.com> Cc: Blue Swirl <blauwirbel@gmail.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
d6e58090fe
commit
2c406b8fc8
20
hw/rtl8139.c
20
hw/rtl8139.c
@ -47,6 +47,9 @@
|
||||
* Darwin)
|
||||
*/
|
||||
|
||||
/* For crc32 */
|
||||
#include <zlib.h>
|
||||
|
||||
#include "hw.h"
|
||||
#include "pci.h"
|
||||
#include "qemu-timer.h"
|
||||
@ -62,14 +65,6 @@
|
||||
/* debug RTL8139 card C+ mode only */
|
||||
//#define DEBUG_RTL8139CP 1
|
||||
|
||||
/* Calculate CRCs properly on Rx packets */
|
||||
#define RTL8139_CALCULATE_RXCRC 1
|
||||
|
||||
#if defined(RTL8139_CALCULATE_RXCRC)
|
||||
/* For crc32 */
|
||||
#include <zlib.h>
|
||||
#endif
|
||||
|
||||
#define SET_MASKED(input, mask, curr) \
|
||||
( ( (input) & ~(mask) ) | ( (curr) & (mask) ) )
|
||||
|
||||
@ -1030,11 +1025,7 @@ static ssize_t rtl8139_do_receive(VLANClientState *nc, const uint8_t *buf, size_
|
||||
}
|
||||
|
||||
/* write checksum */
|
||||
#if defined (RTL8139_CALCULATE_RXCRC)
|
||||
val = cpu_to_le32(crc32(0, buf, size));
|
||||
#else
|
||||
val = 0;
|
||||
#endif
|
||||
cpu_physical_memory_write( rx_addr+size, (uint8_t *)&val, 4);
|
||||
|
||||
/* first segment of received packet flag */
|
||||
@ -1136,12 +1127,7 @@ static ssize_t rtl8139_do_receive(VLANClientState *nc, const uint8_t *buf, size_
|
||||
rtl8139_write_buffer(s, buf, size);
|
||||
|
||||
/* write checksum */
|
||||
#if defined (RTL8139_CALCULATE_RXCRC)
|
||||
val = cpu_to_le32(crc32(0, buf, size));
|
||||
#else
|
||||
val = 0;
|
||||
#endif
|
||||
|
||||
rtl8139_write_buffer(s, (uint8_t *)&val, 4);
|
||||
|
||||
/* correct buffer write pointer */
|
||||
|
Loading…
Reference in New Issue
Block a user