summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libs/Network/tx.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libs/Network/tx.c b/libs/Network/tx.c
index 4ab1cb6..7ac9c28 100644
--- a/libs/Network/tx.c
+++ b/libs/Network/tx.c
@@ -432,6 +432,9 @@ void Network_TX_transmitPassthroughPacket(uint32_t length)
return;
}
+ // Drop the FCS word. It will be generated by hardware.
+ length -= 4;
+
int32_t tail;
int32_t first = tail = Network_TX_allocateBlock();
int32_t next_block = -1;
@@ -470,4 +473,8 @@ void Network_TX_transmitPassthroughPacket(uint32_t length)
doorbell.bits.Length = total_blocks;
APE.TxToNetDoorbellFunc0 = doorbell;
+
+ // Read last RX word (FCS) to clear the buffer
+ uint32_t data = APE_PERI.BmcToNcReadBuffer.r32;
+ (void)data;
}
OpenPOWER on IntegriCloud