summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Pieuchot <mpi@cvs.openbsd.org>2013-04-12 12:58:40 +0000
committerMartin Pieuchot <mpi@cvs.openbsd.org>2013-04-12 12:58:40 +0000
commitbc9e417bf2fcdab799ae6192301d0575099a3770 (patch)
tree2e4dc75c8988cef5d331f784569681d48405d39d
parent92e308dc2a89dd51e9ea7d9fcd56aa6a4f3fc119 (diff)
Instead of using a wrapper around usbd_transfer() when submitting a
transfer synchronously just pass the USBD_SYNCHRONOUS flag like any other flags when creating a transfer. ok sthen@, mglocker@
-rw-r--r--sys/dev/usb/if_athn_usb.c7
-rw-r--r--sys/dev/usb/if_atu.c6
-rw-r--r--sys/dev/usb/if_otus.c7
-rw-r--r--sys/dev/usb/if_ral.c11
-rw-r--r--sys/dev/usb/if_rsu.c12
-rw-r--r--sys/dev/usb/if_uath.c19
-rw-r--r--sys/dev/usb/ueagle.c14
-rw-r--r--sys/dev/usb/umbg.c10
-rw-r--r--sys/dev/usb/uow.c12
-rw-r--r--sys/dev/usb/usbdi.c22
-rw-r--r--sys/dev/usb/usbdi.h3
-rw-r--r--sys/dev/usb/uticom.c4
12 files changed, 62 insertions, 65 deletions
diff --git a/sys/dev/usb/if_athn_usb.c b/sys/dev/usb/if_athn_usb.c
index c03234a286b..ff31dcc6e42 100644
--- a/sys/dev/usb/if_athn_usb.c
+++ b/sys/dev/usb/if_athn_usb.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_athn_usb.c,v 1.14 2013/04/05 05:39:46 brad Exp $ */
+/* $OpenBSD: if_athn_usb.c,v 1.15 2013/04/12 12:58:39 mpi Exp $ */
/*-
* Copyright (c) 2011 Damien Bergamini <damien.bergamini@free.fr>
@@ -730,8 +730,9 @@ athn_usb_htc_msg(struct athn_usb_softc *usc, uint16_t msg_id, void *buf,
usbd_setup_xfer(data->xfer, usc->tx_intr_pipe, NULL, data->buf,
sizeof(*htc) + sizeof(*msg) + len,
- USBD_SHORT_XFER_OK | USBD_NO_COPY, ATHN_USB_CMD_TIMEOUT, NULL);
- return (usbd_sync_transfer(data->xfer));
+ USBD_SHORT_XFER_OK | USBD_NO_COPY | USBD_SYNCHRONOUS,
+ ATHN_USB_CMD_TIMEOUT, NULL);
+ return (usbd_transfer(data->xfer));
}
int
diff --git a/sys/dev/usb/if_atu.c b/sys/dev/usb/if_atu.c
index adf88148695..be670b829ad 100644
--- a/sys/dev/usb/if_atu.c
+++ b/sys/dev/usb/if_atu.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_atu.c,v 1.101 2012/02/24 06:19:00 guenther Exp $ */
+/* $OpenBSD: if_atu.c,v 1.102 2013/04/12 12:58:39 mpi Exp $ */
/*
* Copyright (c) 2003, 2004
* Daan Vreeken <Danovitsch@Vitsch.net>. All rights reserved.
@@ -330,9 +330,9 @@ atu_usb_request(struct atu_softc *sc, u_int8_t type,
xfer = usbd_alloc_xfer(sc->atu_udev);
usbd_setup_default_xfer(xfer, sc->atu_udev, 0, 500000, &req, data,
- length, USBD_SHORT_XFER_OK, 0);
+ length, USBD_SHORT_XFER_OK | USBD_SYNCHRONOUS, 0);
- err = usbd_sync_transfer(xfer);
+ err = usbd_transfer(xfer);
usbd_get_xfer_status(xfer, NULL, NULL, &total_len, NULL);
diff --git a/sys/dev/usb/if_otus.c b/sys/dev/usb/if_otus.c
index fb08645ebb9..368aa54ca0c 100644
--- a/sys/dev/usb/if_otus.c
+++ b/sys/dev/usb/if_otus.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_otus.c,v 1.32 2012/10/12 19:53:24 haesbaert Exp $ */
+/* $OpenBSD: if_otus.c,v 1.33 2013/04/12 12:58:39 mpi Exp $ */
/*-
* Copyright (c) 2009 Damien Bergamini <damien.bergamini@free.fr>
@@ -867,8 +867,9 @@ otus_cmd(struct otus_softc *sc, uint8_t code, const void *idata, int ilen,
cmd->done = 0;
usbd_setup_xfer(cmd->xfer, sc->cmd_tx_pipe, cmd, cmd->buf, xferlen,
- USBD_FORCE_SHORT_XFER | USBD_NO_COPY, OTUS_CMD_TIMEOUT, NULL);
- error = usbd_sync_transfer(cmd->xfer);
+ USBD_FORCE_SHORT_XFER | USBD_NO_COPY | USBD_SYNCHRONOUS,
+ OTUS_CMD_TIMEOUT, NULL);
+ error = usbd_transfer(cmd->xfer);
if (error != 0) {
splx(s);
printf("%s: could not send command 0x%x (error=%s)\n",
diff --git a/sys/dev/usb/if_ral.c b/sys/dev/usb/if_ral.c
index a764fa4ea20..7d14a32e800 100644
--- a/sys/dev/usb/if_ral.c
+++ b/sys/dev/usb/if_ral.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_ral.c,v 1.121 2011/07/03 15:47:17 matthew Exp $ */
+/* $OpenBSD: if_ral.c,v 1.122 2013/04/12 12:58:39 mpi Exp $ */
/*-
* Copyright (c) 2005, 2006
@@ -1018,9 +1018,9 @@ ural_tx_bcn(struct ural_softc *sc, struct mbuf *m0, struct ieee80211_node *ni)
}
usbd_setup_xfer(xfer, sc->sc_tx_pipeh, NULL, &cmd, sizeof cmd,
- USBD_FORCE_SHORT_XFER, RAL_TX_TIMEOUT, NULL);
+ USBD_FORCE_SHORT_XFER | USBD_SYNCHRONOUS, RAL_TX_TIMEOUT, NULL);
- error = usbd_sync_transfer(xfer);
+ error = usbd_transfer(xfer);
if (error != 0) {
usbd_free_xfer(xfer);
return error;
@@ -1036,9 +1036,10 @@ ural_tx_bcn(struct ural_softc *sc, struct mbuf *m0, struct ieee80211_node *ni)
m0->m_pkthdr.len, rate, xferlen));
usbd_setup_xfer(xfer, sc->sc_tx_pipeh, NULL, buf, xferlen,
- USBD_FORCE_SHORT_XFER | USBD_NO_COPY, RAL_TX_TIMEOUT, NULL);
+ USBD_FORCE_SHORT_XFER | USBD_NO_COPY | USBD_SYNCHRONOUS,
+ RAL_TX_TIMEOUT, NULL);
- error = usbd_sync_transfer(xfer);
+ error = usbd_transfer(xfer);
usbd_free_xfer(xfer);
return error;
diff --git a/sys/dev/usb/if_rsu.c b/sys/dev/usb/if_rsu.c
index 9fa93340eb3..367c948382b 100644
--- a/sys/dev/usb/if_rsu.c
+++ b/sys/dev/usb/if_rsu.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_rsu.c,v 1.15 2013/02/04 23:13:41 kettenis Exp $ */
+/* $OpenBSD: if_rsu.c,v 1.16 2013/04/12 12:58:39 mpi Exp $ */
/*-
* Copyright (c) 2010 Damien Bergamini <damien.bergamini@free.fr>
@@ -776,8 +776,9 @@ rsu_fw_cmd(struct rsu_softc *sc, uint8_t code, void *buf, int len)
DPRINTFN(2, ("Tx cmd code=%d len=%d\n", code, cmdsz));
pipe = sc->pipe[sc->qid2idx[RSU_QID_H2C]];
usbd_setup_xfer(data->xfer, pipe, NULL, data->buf, xferlen,
- USBD_SHORT_XFER_OK | USBD_NO_COPY, RSU_CMD_TIMEOUT, NULL);
- return (usbd_sync_transfer(data->xfer));
+ USBD_SHORT_XFER_OK | USBD_NO_COPY | USBD_SYNCHRONOUS,
+ RSU_CMD_TIMEOUT, NULL);
+ return (usbd_transfer(data->xfer));
}
int
@@ -2013,9 +2014,10 @@ rsu_fw_loadsection(struct rsu_softc *sc, uint8_t *buf, int len)
memcpy(&txd[1], buf, mlen);
usbd_setup_xfer(data->xfer, pipe, NULL, data->buf,
- sizeof(*txd) + mlen, USBD_SHORT_XFER_OK | USBD_NO_COPY,
+ sizeof(*txd) + mlen,
+ USBD_SHORT_XFER_OK | USBD_NO_COPY | USBD_SYNCHRONOUS,
RSU_TX_TIMEOUT, NULL);
- error = usbd_sync_transfer(data->xfer);
+ error = usbd_transfer(data->xfer);
if (error != 0)
return (error);
buf += mlen;
diff --git a/sys/dev/usb/if_uath.c b/sys/dev/usb/if_uath.c
index be84d463c89..be0659acb64 100644
--- a/sys/dev/usb/if_uath.c
+++ b/sys/dev/usb/if_uath.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_uath.c,v 1.52 2012/10/03 08:05:26 sthen Exp $ */
+/* $OpenBSD: if_uath.c,v 1.53 2013/04/12 12:58:39 mpi Exp $ */
/*-
* Copyright (c) 2006
@@ -1319,8 +1319,8 @@ uath_tx_null(struct uath_softc *sc)
usbd_setup_xfer(data->xfer, sc->data_tx_pipe, data, data->buf,
sizeof (uint32_t) + sizeof (struct uath_tx_desc), USBD_NO_COPY |
- USBD_FORCE_SHORT_XFER, UATH_DATA_TIMEOUT, NULL);
- if (usbd_sync_transfer(data->xfer) != 0)
+ USBD_FORCE_SHORT_XFER | USBD_SYNCHRONOUS, UATH_DATA_TIMEOUT, NULL);
+ if (usbd_transfer(data->xfer) != 0)
return EIO;
sc->data_idx = (sc->data_idx + 1) % UATH_TX_DATA_LIST_COUNT;
@@ -2081,9 +2081,10 @@ uath_loadfirmware(struct uath_softc *sc, const u_char *fw, int len)
/* send firmware block meta-data */
usbd_setup_xfer(ctlxfer, sc->cmd_tx_pipe, sc, txblock,
- sizeof (struct uath_fwblock), USBD_NO_COPY,
+ sizeof (struct uath_fwblock),
+ USBD_NO_COPY | USBD_SYNCHRONOUS,
UATH_CMD_TIMEOUT, NULL);
- if ((error = usbd_sync_transfer(ctlxfer)) != 0) {
+ if ((error = usbd_transfer(ctlxfer)) != 0) {
printf("%s: could not send firmware block info\n",
sc->sc_dev.dv_xname);
break;
@@ -2092,8 +2093,8 @@ uath_loadfirmware(struct uath_softc *sc, const u_char *fw, int len)
/* send firmware block data */
bcopy(fw, txdata, mlen);
usbd_setup_xfer(txxfer, sc->data_tx_pipe, sc, txdata, mlen,
- USBD_NO_COPY, UATH_DATA_TIMEOUT, NULL);
- if ((error = usbd_sync_transfer(txxfer)) != 0) {
+ USBD_NO_COPY | USBD_SYNCHRONOUS, UATH_DATA_TIMEOUT, NULL);
+ if ((error = usbd_transfer(txxfer)) != 0) {
printf("%s: could not send firmware block data\n",
sc->sc_dev.dv_xname);
break;
@@ -2102,8 +2103,8 @@ uath_loadfirmware(struct uath_softc *sc, const u_char *fw, int len)
/* wait for ack from firmware */
usbd_setup_xfer(rxxfer, sc->cmd_rx_pipe, sc, rxblock,
sizeof (struct uath_fwblock), USBD_SHORT_XFER_OK |
- USBD_NO_COPY, UATH_CMD_TIMEOUT, NULL);
- if ((error = usbd_sync_transfer(rxxfer)) != 0) {
+ USBD_NO_COPY | USBD_SYNCHRONOUS, UATH_CMD_TIMEOUT, NULL);
+ if ((error = usbd_transfer(rxxfer)) != 0) {
printf("%s: could not read firmware answer\n",
sc->sc_dev.dv_xname);
break;
diff --git a/sys/dev/usb/ueagle.c b/sys/dev/usb/ueagle.c
index 0311c7b840b..d61da52d60c 100644
--- a/sys/dev/usb/ueagle.c
+++ b/sys/dev/usb/ueagle.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ueagle.c,v 1.36 2011/11/27 09:20:57 claudio Exp $ */
+/* $OpenBSD: ueagle.c,v 1.37 2013/04/12 12:58:39 mpi Exp $ */
/*-
* Copyright (c) 2003-2006
@@ -356,18 +356,18 @@ ueagle_loadpage(void *xsc)
USETW(bi.wLast, (i == blockcount - 1) ? 1 : 0);
/* send block info through the IDMA pipe */
- usbd_setup_xfer(xfer, sc->pipeh_idma, sc, &bi, sizeof bi, 0,
- UEAGLE_IDMA_TIMEOUT, NULL);
- if (usbd_sync_transfer(xfer) != 0) {
+ usbd_setup_xfer(xfer, sc->pipeh_idma, sc, &bi, sizeof bi,
+ USBD_SYNCHRONOUS, UEAGLE_IDMA_TIMEOUT, NULL);
+ if (usbd_transfer(xfer) != 0) {
printf("%s: could not transfer block info\n",
sc->sc_dev.dv_xname);
break;
}
/* send block data through the IDMA pipe */
- usbd_setup_xfer(xfer, sc->pipeh_idma, sc, p, blocksize, 0,
- UEAGLE_IDMA_TIMEOUT, NULL);
- if (usbd_sync_transfer(xfer) != 0) {
+ usbd_setup_xfer(xfer, sc->pipeh_idma, sc, p, blocksize,
+ USBD_SYNCHRONOUS, UEAGLE_IDMA_TIMEOUT, NULL);
+ if (usbd_transfer(xfer) != 0) {
printf("%s: could not transfer block data\n",
sc->sc_dev.dv_xname);
break;
diff --git a/sys/dev/usb/umbg.c b/sys/dev/usb/umbg.c
index 1cdc726dd69..9ce5172f871 100644
--- a/sys/dev/usb/umbg.c
+++ b/sys/dev/usb/umbg.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: umbg.c,v 1.19 2013/03/28 03:58:03 tedu Exp $ */
+/* $OpenBSD: umbg.c,v 1.20 2013/04/12 12:58:39 mpi Exp $ */
/*
* Copyright (c) 2007 Marc Balmer <mbalmer@openbsd.org>
@@ -402,10 +402,10 @@ umbg_read(struct umbg_softc *sc, u_int8_t cmd, char *buf, size_t len,
}
usbd_setup_xfer(xfer, sc->sc_bulkout_pipe, NULL, &cmd, sizeof(cmd),
- USBD_SHORT_XFER_OK, USBD_DEFAULT_TIMEOUT, NULL);
+ USBD_SHORT_XFER_OK | USBD_SYNCHRONOUS, USBD_DEFAULT_TIMEOUT, NULL);
if (tstamp)
nanotime(tstamp);
- err = usbd_sync_transfer(xfer);
+ err = usbd_transfer(xfer);
if (err) {
DPRINTF(("%s: sending of command failed: %s\n",
sc->sc_dev.dv_xname, usbd_errstr(err)));
@@ -414,9 +414,9 @@ umbg_read(struct umbg_softc *sc, u_int8_t cmd, char *buf, size_t len,
}
usbd_setup_xfer(xfer, sc->sc_bulkin_pipe, NULL, buf, len,
- USBD_SHORT_XFER_OK, USBD_DEFAULT_TIMEOUT, NULL);
+ USBD_SHORT_XFER_OK | USBD_SYNCHRONOUS, USBD_DEFAULT_TIMEOUT, NULL);
- err = usbd_sync_transfer(xfer);
+ err = usbd_transfer(xfer);
usbd_free_xfer(xfer);
if (err) {
DPRINTF(("%s: reading data failed: %s\n",
diff --git a/sys/dev/usb/uow.c b/sys/dev/usb/uow.c
index a4434a6e19d..3f65108eca4 100644
--- a/sys/dev/usb/uow.c
+++ b/sys/dev/usb/uow.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uow.c,v 1.31 2013/03/28 03:58:03 tedu Exp $ */
+/* $OpenBSD: uow.c,v 1.32 2013/04/12 12:58:39 mpi Exp $ */
/*
* Copyright (c) 2006 Alexander Yurchenko <grange@openbsd.org>
@@ -462,8 +462,8 @@ uow_read(struct uow_softc *sc, void *buf, int len)
return (-1);
}
usbd_setup_xfer(sc->sc_xfer, sc->sc_ph_ibulk, sc, buf, len,
- USBD_SHORT_XFER_OK, UOW_TIMEOUT, NULL);
- error = usbd_sync_transfer(sc->sc_xfer);
+ USBD_SHORT_XFER_OK | USBD_SYNCHRONOUS, UOW_TIMEOUT, NULL);
+ error = usbd_transfer(sc->sc_xfer);
usbd_free_xfer(sc->sc_xfer);
if (error != 0) {
printf("%s: read failed, len %d: %s\n",
@@ -492,9 +492,9 @@ uow_write(struct uow_softc *sc, const void *buf, int len)
printf("%s: failed to alloc xfer\n", sc->sc_dev.dv_xname);
return (-1);
}
- usbd_setup_xfer(sc->sc_xfer, sc->sc_ph_obulk, sc, (void *)buf, len, 0,
- UOW_TIMEOUT, NULL);
- error = usbd_sync_transfer(sc->sc_xfer);
+ usbd_setup_xfer(sc->sc_xfer, sc->sc_ph_obulk, sc, (void *)buf, len,
+ USBD_SYNCHRONOUS, UOW_TIMEOUT, NULL);
+ error = usbd_transfer(sc->sc_xfer);
usbd_free_xfer(sc->sc_xfer);
if (error != 0) {
printf("%s: write failed, len %d: %s\n",
diff --git a/sys/dev/usb/usbdi.c b/sys/dev/usb/usbdi.c
index fe7472b67a1..a2f14eb21fb 100644
--- a/sys/dev/usb/usbdi.c
+++ b/sys/dev/usb/usbdi.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: usbdi.c,v 1.47 2013/04/11 07:50:56 mpi Exp $ */
+/* $OpenBSD: usbdi.c,v 1.48 2013/04/12 12:58:39 mpi Exp $ */
/* $NetBSD: usbdi.c,v 1.103 2002/09/27 15:37:38 provos Exp $ */
/* $FreeBSD: src/sys/dev/usb/usbdi.c,v 1.28 1999/11/17 22:33:49 n_hibma Exp $ */
@@ -379,14 +379,6 @@ usbd_transfer(usbd_xfer_handle xfer)
return (xfer->status);
}
-/* Like usbd_transfer(), but waits for completion. */
-usbd_status
-usbd_sync_transfer(usbd_xfer_handle xfer)
-{
- xfer->flags |= USBD_SYNCHRONOUS;
- return (usbd_transfer(xfer));
-}
-
void *
usbd_alloc_buffer(usbd_xfer_handle xfer, u_int32_t size)
{
@@ -962,9 +954,9 @@ usbd_do_request_flags(usbd_device_handle dev, usb_device_request_t *req,
if (xfer == NULL)
return (USBD_NOMEM);
usbd_setup_default_xfer(xfer, dev, 0, timeout, req, data,
- UGETW(req->wLength), flags, 0);
+ UGETW(req->wLength), flags | USBD_SYNCHRONOUS, 0);
xfer->pipe = pipe;
- err = usbd_sync_transfer(xfer);
+ err = usbd_transfer(xfer);
#if defined(USB_DEBUG) || defined(DIAGNOSTIC)
if (xfer->actlen > xfer->length)
DPRINTF(("usbd_do_request: overrun addr=%d type=0x%02x req=0x"
@@ -993,8 +985,8 @@ usbd_do_request_flags(usbd_device_handle dev, usb_device_request_t *req,
USETW(treq.wIndex, 0);
USETW(treq.wLength, sizeof(usb_status_t));
usbd_setup_default_xfer(xfer, dev, 0, USBD_DEFAULT_TIMEOUT,
- &treq, &status,sizeof(usb_status_t), 0, 0);
- nerr = usbd_sync_transfer(xfer);
+ &treq, &status, sizeof(usb_status_t), USBD_SYNCHRONOUS, 0);
+ nerr = usbd_transfer(xfer);
if (nerr)
goto bad;
s = UGETW(status.wStatus);
@@ -1007,8 +999,8 @@ usbd_do_request_flags(usbd_device_handle dev, usb_device_request_t *req,
USETW(treq.wIndex, 0);
USETW(treq.wLength, 0);
usbd_setup_default_xfer(xfer, dev, 0, USBD_DEFAULT_TIMEOUT,
- &treq, &status, 0, 0, 0);
- nerr = usbd_sync_transfer(xfer);
+ &treq, &status, 0, USBD_SYNCHRONOUS, 0);
+ nerr = usbd_transfer(xfer);
if (nerr)
goto bad;
}
diff --git a/sys/dev/usb/usbdi.h b/sys/dev/usb/usbdi.h
index a6e83252fca..86648b6bca4 100644
--- a/sys/dev/usb/usbdi.h
+++ b/sys/dev/usb/usbdi.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: usbdi.h,v 1.46 2013/04/10 07:39:43 mpi Exp $ */
+/* $OpenBSD: usbdi.h,v 1.47 2013/04/12 12:58:39 mpi Exp $ */
/* $NetBSD: usbdi.h,v 1.62 2002/07/11 21:14:35 augustss Exp $ */
/* $FreeBSD: src/sys/dev/usb/usbdi.h,v 1.18 1999/11/17 22:33:49 n_hibma Exp $ */
@@ -118,7 +118,6 @@ usbd_device_handle usbd_pipe2device_handle(usbd_pipe_handle);
void *usbd_alloc_buffer(usbd_xfer_handle xfer, u_int32_t size);
void usbd_free_buffer(usbd_xfer_handle xfer);
void *usbd_get_buffer(usbd_xfer_handle xfer);
-usbd_status usbd_sync_transfer(usbd_xfer_handle req);
usbd_status usbd_open_pipe_intr(usbd_interface_handle iface, u_int8_t address,
u_int8_t flags, usbd_pipe_handle *pipe, usbd_private_handle priv,
void *buffer, u_int32_t length, usbd_callback, int);
diff --git a/sys/dev/usb/uticom.c b/sys/dev/usb/uticom.c
index de1b981a3c2..2c2651a3ba6 100644
--- a/sys/dev/usb/uticom.c
+++ b/sys/dev/usb/uticom.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uticom.c,v 1.18 2011/08/17 18:58:45 jasper Exp $ */
+/* $OpenBSD: uticom.c,v 1.19 2013/04/12 12:58:39 mpi Exp $ */
/*
* Copyright (c) 2005 Dmitry Komissaroff <dxi@mail.ru>.
*
@@ -971,7 +971,7 @@ uticom_download_fw(struct uticom_softc *sc, int pipeno,
usbd_setup_xfer(oxfer, pipe, (usbd_private_handle)sc, obuf, buffer_size,
USBD_NO_COPY | USBD_SYNCHRONOUS, USBD_NO_TIMEOUT, 0);
- err = usbd_sync_transfer(oxfer);
+ err = usbd_transfer(oxfer);
if (err != USBD_NORMAL_COMPLETION)
printf("%s: uticom_download_fw: error: %s\n",