summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/arch/sparc64/dev/vnet.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/arch/sparc64/dev/vnet.c b/sys/arch/sparc64/dev/vnet.c
index 1feb0ce35e8..2c28ae8a257 100644
--- a/sys/arch/sparc64/dev/vnet.c
+++ b/sys/arch/sparc64/dev/vnet.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vnet.c,v 1.19 2009/12/14 20:50:46 kettenis Exp $ */
+/* $OpenBSD: vnet.c,v 1.20 2009/12/14 21:08:45 kettenis Exp $ */
/*
* Copyright (c) 2009 Mark Kettenis
*
@@ -958,7 +958,7 @@ vnet_send_attr_info(struct vnet_softc *sc)
ai.tag.sid = sc->sc_local_sid;
ai.xfer_mode = VIO_DRING_MODE;
ai.addr_type = VNET_ADDR_ETHERMAC;
- ai.ack_freq = 1;
+ ai.ack_freq = 0;
ai.addr = 0;
for (i = 0; i < ETHER_ADDR_LEN; i++) {
ai.addr <<= 8;
@@ -1047,6 +1047,11 @@ vnet_start(struct ifnet *ifp)
return;
}
+ if (sc->sc_xfer_mode == VIO_DESC_MODE) {
+ vnet_start_desc(ifp);
+ return;
+ }
+
desc = sc->sc_tx_prod;
while (sc->sc_vd->vd_desc[desc].hdr.dstate == VIO_DESC_FREE) {
IFQ_POLL(&ifp->if_snd, m);