summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/dev/cardbus/if_dc_cardbus.c5
-rw-r--r--sys/dev/ic/dc.c6
-rw-r--r--sys/dev/pci/if_dc_pci.c3
3 files changed, 9 insertions, 5 deletions
diff --git a/sys/dev/cardbus/if_dc_cardbus.c b/sys/dev/cardbus/if_dc_cardbus.c
index d21ea5e132e..3c2f10f0692 100644
--- a/sys/dev/cardbus/if_dc_cardbus.c
+++ b/sys/dev/cardbus/if_dc_cardbus.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_dc_cardbus.c,v 1.15 2004/10/07 21:16:59 brad Exp $ */
+/* $OpenBSD: if_dc_cardbus.c,v 1.16 2005/01/14 15:04:52 brad Exp $ */
#include <sys/param.h>
#include <sys/systm.h>
@@ -145,7 +145,8 @@ dc_cardbus_attach(parent, self, aux)
if (PCI_PRODUCT(ca->ca_id) ==
PCI_PRODUCT_XIRCOM_X3201_3_21143) {
sc->dc_type = DC_TYPE_XIRCOM;
- sc->dc_flags |= DC_TX_INTR_ALWAYS|DC_TX_COALESCE;
+ sc->dc_flags |= DC_TX_INTR_ALWAYS|DC_TX_COALESCE |
+ DC_TX_ALIGN;
sc->dc_pmode = DC_PMODE_MII;
bcopy(ca->ca_cis.funce.network.netid,
diff --git a/sys/dev/ic/dc.c b/sys/dev/ic/dc.c
index b8bd247de92..42101cb715c 100644
--- a/sys/dev/ic/dc.c
+++ b/sys/dev/ic/dc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: dc.c,v 1.78 2005/01/08 06:02:59 brad Exp $ */
+/* $OpenBSD: dc.c,v 1.79 2005/01/14 15:04:51 brad Exp $ */
/*
* Copyright (c) 1997, 1998, 1999
@@ -2739,7 +2739,9 @@ dc_start(ifp)
if (m_head == NULL)
break;
- if (sc->dc_flags & DC_TX_COALESCE) {
+ if (sc->dc_flags & DC_TX_COALESCE &&
+ (m_head->m_next != NULL ||
+ sc->dc_flags & DC_TX_ALIGN)) {
#ifdef ALTQ
/* note: dc_coal breaks the poll-and-dequeue rule.
* if dc_coal fails, we lose the packet.
diff --git a/sys/dev/pci/if_dc_pci.c b/sys/dev/pci/if_dc_pci.c
index f839eb92286..84053ad78ae 100644
--- a/sys/dev/pci/if_dc_pci.c
+++ b/sys/dev/pci/if_dc_pci.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_dc_pci.c,v 1.46 2005/01/08 06:02:59 brad Exp $ */
+/* $OpenBSD: if_dc_pci.c,v 1.47 2005/01/14 15:04:52 brad Exp $ */
/*
* Copyright (c) 1997, 1998, 1999
@@ -318,6 +318,7 @@ void dc_pci_attach(parent, self, aux)
sc->dc_type = DC_TYPE_DM9102;
sc->dc_flags |= DC_TX_COALESCE|DC_TX_INTR_ALWAYS;
sc->dc_flags |= DC_REDUCED_MII_POLL|DC_TX_STORENFWD;
+ sc->dc_flags |= DC_TX_ALIGN;
sc->dc_pmode = DC_PMODE_MII;
/* Increase the latency timer value. */