diff options
author | Luiz Otavio O Souza <loos@FreeBSD.org> | 2017-01-22 17:24:00 +0000 |
---|---|---|
committer | Luiz Otavio O Souza <loos@FreeBSD.org> | 2017-01-22 17:24:00 +0000 |
commit | 6386d003c96c7d20ccdaac4361f5beb651e017cd (patch) | |
tree | 5facd885efd57a5642f4dc0eb1b79cae6b64b8a1 /sys/arm | |
parent | 3a3d1c770e13069c81f1b6d7fa128a06c53efdb9 (diff) | |
download | src-6386d003c96c7d20ccdaac4361f5beb651e017cd.tar.gz src-6386d003c96c7d20ccdaac4361f5beb651e017cd.zip |
Be a little more pedantic here, the TRM says the hardware is supposed to
only clean the OWNER bit on SOP descriptors.
MFC after: 3 days
Sponsored by: Rubicon Communications, LLC (Netgate)
Notes
Notes:
svn path=/head/; revision=312637
Diffstat (limited to 'sys/arm')
-rw-r--r-- | sys/arm/ti/cpsw/if_cpsw.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/arm/ti/cpsw/if_cpsw.c b/sys/arm/ti/cpsw/if_cpsw.c index 85220dfa45e4..a84fac588f6e 100644 --- a/sys/arm/ti/cpsw/if_cpsw.c +++ b/sys/arm/ti/cpsw/if_cpsw.c @@ -1981,7 +1981,8 @@ cpsw_tx_dequeue(struct cpsw_softc *sc) sc->tx.teardown = 1; } - if ((flags & CPDMA_BD_OWNER) != 0 && sc->tx.teardown == 0) + if ((flags & (CPDMA_BD_SOP | CPDMA_BD_OWNER)) == + (CPDMA_BD_SOP | CPDMA_BD_OWNER) && sc->tx.teardown == 0) break; /* Hardware is still using this packet. */ bus_dmamap_sync(sc->mbuf_dtag, slot->dmamap, BUS_DMASYNC_POSTWRITE); |