summaryrefslogtreecommitdiffstats
path: root/rtemsbsd/sys/dev
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2022-05-04 15:31:45 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2022-05-11 16:05:26 +0200
commit5b62a8bfa19875cbf0a38b0419e107b06ff61472 (patch)
treefc1fe1ba8f8d344e22777bfd8ec6b8ef2e2a7ee6 /rtemsbsd/sys/dev
parentif_atsam: Enable all capabilities (diff)
downloadrtems-libbsd-5b62a8bfa19875cbf0a38b0419e107b06ff61472.tar.bz2
if_atsam: Do not disable the Ethernet CRC
The Ethernet CRC and padding must be always generated by the MAC. Update #4652.
Diffstat (limited to 'rtemsbsd/sys/dev')
-rw-r--r--rtemsbsd/sys/dev/atsam/if_atsam.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/rtemsbsd/sys/dev/atsam/if_atsam.c b/rtemsbsd/sys/dev/atsam/if_atsam.c
index 21d639d1..4ac38e96 100644
--- a/rtemsbsd/sys/dev/atsam/if_atsam.c
+++ b/rtemsbsd/sys/dev/atsam/if_atsam.c
@@ -678,7 +678,6 @@ static bool if_atsam_send_packet(if_atsam_softc *sc, struct mbuf *m)
uint32_t tmp_val = 0;
Gmac *pHw = sc->Gmac_inst.gGmacd.pHw;
bool success;
- int csum_flags = m->m_pkthdr.csum_flags;
if_atsam_tx_bd_cleanup(sc);
/* Wait for interrupt in case no buffer descriptors are available */
@@ -725,15 +724,9 @@ static bool if_atsam_send_packet(if_atsam_softc *sc, struct mbuf *m)
* processed
*/
if (m == NULL) {
+ _ARM_Data_synchronization_barrier();
tmp_val |= GMAC_TX_SET_EOF;
tmp_val &= ~GMAC_TX_SET_USED;
- if ((csum_flags & (CSUM_IP | CSUM_TCP | CSUM_UDP |
- CSUM_TCP_IPV6 | CSUM_UDP_IPV6)) != 0) {
- start_packet_tx_bd->status.bm.bNoCRC = 0;
- } else {
- start_packet_tx_bd->status.bm.bNoCRC = 1;
- }
- _ARM_Data_synchronization_barrier();
cur->status.val = tmp_val;
start_packet_tx_bd->status.val &= ~GMAC_TX_SET_USED;
_ARM_Data_synchronization_barrier();