Module Name:    src
Committed By:   skrll
Date:           Wed May 11 21:02:10 UTC 2016

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

Log Message:
The HCD should no longer restart a repeating transfer (i.e. an interrupt
transfer) as this is now handled in the usb core code.


To generate a diff of this commit:
cvs rdiff -u -r1.61 -r1.62 src/sys/dev/ic/sl811hs.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/sl811hs.c
diff -u src/sys/dev/ic/sl811hs.c:1.61 src/sys/dev/ic/sl811hs.c:1.62
--- src/sys/dev/ic/sl811hs.c:1.61	Wed May 11 06:07:52 2016
+++ src/sys/dev/ic/sl811hs.c	Wed May 11 21:02:10 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: sl811hs.c,v 1.61 2016/05/11 06:07:52 skrll Exp $	*/
+/*	$NetBSD: sl811hs.c,v 1.62 2016/05/11 21:02:10 skrll Exp $	*/
 
 /*
  * Not (c) 2007 Matthew Orgass
@@ -68,7 +68,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sl811hs.c,v 1.61 2016/05/11 06:07:52 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sl811hs.c,v 1.62 2016/05/11 21:02:10 skrll Exp $");
 
 #include "opt_slhci.h"
 
@@ -493,7 +493,6 @@ static void slhci_enter_xfers(struct slh
 static void slhci_queue_timed(struct slhci_softc *, struct slhci_pipe *);
 static void slhci_xfer_timer(struct slhci_softc *, struct slhci_pipe *);
 
-static void slhci_do_repeat(struct slhci_softc *, struct usbd_xfer *);
 static void slhci_callback_schedule(struct slhci_softc *);
 static void slhci_do_callback_schedule(struct slhci_softc *);
 #if 0
@@ -1474,23 +1473,18 @@ repeat:
 void
 slhci_do_callback(struct slhci_softc *sc, struct usbd_xfer *xfer)
 {
+	SLHCIHIST_FUNC(); SLHCIHIST_CALLED();
 	KASSERT(mutex_owned(&sc->sc_intr_lock));
 
-	int repeat;
-
 	start_cc_time(&t_callback, (u_int)xfer);
 	mutex_exit(&sc->sc_intr_lock);
 
 	mutex_enter(&sc->sc_lock);
-	repeat = xfer->ux_pipe->up_repeat;
 	usb_transfer_complete(xfer);
 	mutex_exit(&sc->sc_lock);
 
 	mutex_enter(&sc->sc_intr_lock);
 	stop_cc_time(&t_callback);
-
-	if (repeat && !sc->sc_bus.ub_usepolling)
-		slhci_do_repeat(sc, xfer);
 }
 
 int
@@ -2452,30 +2446,6 @@ slhci_xfer_timer(struct slhci_softc *sc,
 }
 
 static void
-slhci_do_repeat(struct slhci_softc *sc, struct usbd_xfer *xfer)
-{
-	SLHCIHIST_FUNC(); SLHCIHIST_CALLED();
-	struct slhci_transfers *t;
-	struct slhci_pipe *spipe;
-
-	t = &sc->sc_transfers;
-	spipe = SLHCI_PIPE2SPIPE(xfer->ux_pipe);
-
-	if (xfer == t->rootintr)
-		return;
-
-	DLOG(D_TRACE, "REPEAT: xfer %p actlen %d frame %u now %u",
-	    xfer, xfer->ux_actlen, spipe->frame, sc->sc_transfers.frame);
-
-	xfer->ux_actlen = 0;
-	spipe->xfer = xfer;
-	if (spipe->tregs[LEN])
-		KASSERT(spipe->buffer == xfer->ux_buf);
-	slhci_queue_timed(sc, spipe);
-	slhci_dotransfer(sc);
-}
-
-static void
 slhci_callback_schedule(struct slhci_softc *sc)
 {
 	struct slhci_transfers *t;

Reply via email to