summaryrefslogtreecommitdiffstats
path: root/sys/pci
diff options
context:
space:
mode:
Diffstat (limited to 'sys/pci')
-rw-r--r--sys/pci/if_wx.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/sys/pci/if_wx.c b/sys/pci/if_wx.c
index 0b01f5f..e2ee42a 100644
--- a/sys/pci/if_wx.c
+++ b/sys/pci/if_wx.c
@@ -1042,18 +1042,11 @@ again:
td->cmd = 0;
td->css = 0;
- /*
- * Mark the last descriptor with EOP and tell the
- * chip to insert a final checksum.
- */
- if (m->m_next == NULL) {
- td->cmd |= TXCMD_EOP|TXCMD_IFCS;
- }
if (sc->wx_debug) {
printf("%s: XMIT[%d] %p vptr %lx (length %d "
- "DMA addr %x) idx %d cmd %x\n", sc->wx_name,
+ "DMA addr %x) idx %d\n", sc->wx_name,
ndesc, m, (long) vptr, td->length,
- td->address.lowpart, cidx, td->cmd);
+ td->address.lowpart, cidx);
}
ndesc++;
cidx = T_NXT_IDX(cidx);
@@ -1064,6 +1057,13 @@ again:
* the the packet chain described by mb_head.
*/
if (m == NULL) {
+ /*
+ * Mark the last descriptor with EOP and tell the
+ * chip to insert a final checksum.
+ */
+ wxtd_t *td = &sc->tdescriptors[T_PREV_IDX(cidx)];
+ td->cmd = TXCMD_EOP|TXCMD_IFCS;
+
sc->tbase[sc->tnxtfree].sidx = sc->tnxtfree;
sc->tbase[sc->tnxtfree].eidx = cidx;
sc->tbase[sc->tnxtfree].next = NULL;
OpenPOWER on IntegriCloud