diff options
-rw-r--r-- | libs/Network/tx.c | 7 |
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; } |