Module Name:    src
Committed By:   ozaki-r
Date:           Tue Mar  7 01:28:37 UTC 2017

Modified Files:
        src/sys/dev/ic: cs89x0.c

Log Message:
Apply deferred if_start (from maya@)

Fix PR kern/52023


To generate a diff of this commit:
cvs rdiff -u -r1.38 -r1.39 src/sys/dev/ic/cs89x0.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ic/cs89x0.c
diff -u src/sys/dev/ic/cs89x0.c:1.38 src/sys/dev/ic/cs89x0.c:1.39
--- src/sys/dev/ic/cs89x0.c:1.38	Thu Dec 15 09:28:05 2016
+++ src/sys/dev/ic/cs89x0.c	Tue Mar  7 01:28:37 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: cs89x0.c,v 1.38 2016/12/15 09:28:05 ozaki-r Exp $	*/
+/*	$NetBSD: cs89x0.c,v 1.39 2017/03/07 01:28:37 ozaki-r Exp $	*/
 
 /*
  * Copyright (c) 2004 Christopher Gilbert
@@ -212,7 +212,7 @@
 */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cs89x0.c,v 1.38 2016/12/15 09:28:05 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cs89x0.c,v 1.39 2017/03/07 01:28:37 ozaki-r Exp $");
 
 #include "opt_inet.h"
 
@@ -486,6 +486,7 @@ cs_attach(struct cs_softc *sc, u_int8_t 
 
 	/* Attach the interface. */
 	if_attach(ifp);
+	if_deferred_start_init(ifp, NULL);
 	ether_ifattach(ifp, sc->sc_enaddr);
 
 	rnd_attach_source(&sc->rnd_source, device_xname(sc->sc_dev),
@@ -1583,11 +1584,8 @@ cs_transmit_event(struct cs_softc *sc, u
 	/* Transmission is no longer in progress */
 	sc->sc_txbusy = FALSE;
 
-	/* If there is more to transmit */
-	if (IFQ_IS_EMPTY(&ifp->if_snd) == 0) {
-		/* Start the next transmission */
-		cs_start_output(ifp);
-	}
+	/* If there is more to transmit, start the next transmission */
+	if_schedule_deferred_start(ifp);
 }
 
 void

Reply via email to