HomeFreeBSD

Fix the 'wrong packet header' errors for if_emac.

Description

Fix the 'wrong packet header' errors for if_emac.

Do not strip the ethernet CRC until we read all data from FIFO, otherwise
the CRC bytes would be left in FIFO causing the failure of next packet
(wrong packet header).

When this error happens the receiver has to be disabled and the RX FIFO
flushed, discarding valid packets.

With this fix if_emac behaves a lot better.

Details

Provenance
loosAuthored on
Parents
rS281638: Revert portion of r265152 which creates unnecessary divergence and was
Branches
Unknown
Tags
Unknown

Event Timeline