Last active
March 9, 2024 17:55
-
-
Save tycho/bfd1162189b3d93548d8ca96b667fec0 to your computer and use it in GitHub Desktop.
bugfix for 82754 adapter emulation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c | |
index d5676871fa..3e42e0edf5 100644 | |
--- a/hw/net/e1000e_core.c | |
+++ b/hw/net/e1000e_core.c | |
@@ -677,7 +677,9 @@ e1000e_on_tx_done_update_stats(E1000ECore *core, struct NetTxPkt *tx_pkt) | |
e1000x_increase_size_stats(core->mac, PTCregs, tot_len); | |
e1000x_inc_reg_if_not_full(core->mac, TPT); | |
+ e1000x_inc_reg_if_not_full(core->mac, GPTC); | |
e1000x_grow_8reg_if_not_full(core->mac, TOTL, tot_len); | |
+ e1000x_grow_8reg_if_not_full(core->mac, GOTCL, tot_len); | |
switch (net_tx_pkt_get_packet_type(tx_pkt)) { | |
case ETH_PKT_BCAST: | |
@@ -691,10 +693,6 @@ e1000e_on_tx_done_update_stats(E1000ECore *core, struct NetTxPkt *tx_pkt) | |
default: | |
g_assert_not_reached(); | |
} | |
- | |
- core->mac[GPTC] = core->mac[TPT]; | |
- core->mac[GOTCL] = core->mac[TOTL]; | |
- core->mac[GOTCH] = core->mac[TOTH]; | |
} | |
static void | |
diff --git a/hw/net/e1000x_common.c b/hw/net/e1000x_common.c | |
index 717f9df1c9..d7038be8ef 100644 | |
--- a/hw/net/e1000x_common.c | |
+++ b/hw/net/e1000x_common.c | |
@@ -217,15 +217,15 @@ e1000x_update_rx_total_stats(uint32_t *mac, | |
e1000x_increase_size_stats(mac, PRCregs, data_fcs_size); | |
e1000x_inc_reg_if_not_full(mac, TPR); | |
- mac[GPRC] = mac[TPR]; | |
+ e1000x_inc_reg_if_not_full(mac, GPRC); | |
+ | |
/* TOR - Total Octets Received: | |
* This register includes bytes received in a packet from the <Destination | |
* Address> field through the <CRC> field, inclusively. | |
* Always include FCS length (4) in size. | |
*/ | |
e1000x_grow_8reg_if_not_full(mac, TORL, data_size + 4); | |
- mac[GORCL] = mac[TORL]; | |
- mac[GORCH] = mac[TORH]; | |
+ e1000x_grow_8reg_if_not_full(mac, GORCL, data_size + 4); | |
} | |
void |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment