summaryrefslogtreecommitdiff
path: root/sys/arch/sparc64/dev/vnet.c
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2009-12-14 21:08:46 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2009-12-14 21:08:46 +0000
commit6e4fc502035d31ccb93a55c098c5af187f7a2458 (patch)
tree2ea96671775e485cb9e54cf4b5c5187213f4d647 /sys/arch/sparc64/dev/vnet.c
parent7277db154e3d822c891a8e9330fb5d9a7315e33d (diff)
Fix previous commit. I left out a small fragment and accidentally committed
a change we're not readdy for yet.
Diffstat (limited to 'sys/arch/sparc64/dev/vnet.c')
-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);