svn commit: r187773 - user/thompsa/usb/sys/dev/usb2/wlan

Andrew Thompson thompsa at FreeBSD.org
Tue Jan 27 07:40:10 PST 2009


Author: thompsa
Date: Tue Jan 27 15:40:09 2009
New Revision: 187773
URL: http://svn.freebsd.org/changeset/base/187773

Log:
  Exit early if zyd_cmd is passed a read command, dev/usb/if_zyd.c does this.

Modified:
  user/thompsa/usb/sys/dev/usb2/wlan/if_zyd2.c

Modified: user/thompsa/usb/sys/dev/usb2/wlan/if_zyd2.c
==============================================================================
--- user/thompsa/usb/sys/dev/usb2/wlan/if_zyd2.c	Tue Jan 27 15:34:30 2009	(r187772)
+++ user/thompsa/usb/sys/dev/usb2/wlan/if_zyd2.c	Tue Jan 27 15:40:09 2009	(r187773)
@@ -817,9 +817,6 @@ zyd_intr_write_callback(struct usb2_xfer
 	switch (USB_GET_STATE(xfer)) {
 	case USB_ST_TRANSFERRED:
 		DPRINTF(sc, ZYD_DEBUG_ANY, "length=%d\n", xfer->actlen);
-		rqp = xfer->priv_fifo;
-		if ((rqp->flags & ZYD_CMD_FLAG_READ) == 0)
-			wakeup(rqp->odata);	/* wakeup caller */
 
 		/* FALLTHROUGH */
 	case USB_ST_SETUP:
@@ -838,6 +835,7 @@ zyd_intr_write_callback(struct usb2_xfer
 			xfer->priv_fifo = rqp;
 			rqp->flags |= ZYD_CMD_FLAG_SENT;
 			usb2_start_hardware(xfer);
+			break;
 		}
 		break;
 
@@ -894,6 +892,8 @@ zyd_cmd(struct zyd_softc *sc, uint16_t c
 	STAILQ_INSERT_TAIL(&sc->sc_rqh, &rq, rq);
 	usb2_transfer_start(sc->sc_xfer[ZYD_INTR_DT_WR]);
 
+	if (!(flags & ZYD_CMD_FLAG_READ))
+		return (0);	/* write: don't wait for reply */
 	/* wait at most one second for command reply */
 	error = mtx_sleep(odata, &sc->sc_mtx, 0 , "zydcmd", hz);
 	if (error)


More information about the svn-src-user mailing list