diff options
author | 2013-04-26 14:43:22 +0000 | |
---|---|---|
committer | 2013-04-26 14:43:22 +0000 | |
commit | 47c02b80fbf1806cc516fd21aacac40e2b1346ce (patch) | |
tree | 8bb0608621a71667f49f7c804fb744d246876b88 | |
parent | Don't use usbd_bulk_transfer() to submit a synchronous transfer. This (diff) | |
download | wireguard-openbsd-47c02b80fbf1806cc516fd21aacac40e2b1346ce.tar.xz wireguard-openbsd-47c02b80fbf1806cc516fd21aacac40e2b1346ce.zip |
Don't use usbd_bulk_transfer() to submit a synchronous transfer. This
function is badly named and checks for posted signals before and after
sleeping only if there's no timeout set, which is not the case here.
Tested by and ok mglocker@
-rw-r--r-- | sys/dev/usb/if_upgt.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/dev/usb/if_upgt.c b/sys/dev/usb/if_upgt.c index d2f81200f0f..dbd7f70b471 100644 --- a/sys/dev/usb/if_upgt.c +++ b/sys/dev/usb/if_upgt.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_upgt.c,v 1.57 2013/04/15 09:23:01 mglocker Exp $ */ +/* $OpenBSD: if_upgt.c,v 1.58 2013/04/26 14:43:22 mpi Exp $ */ /* * Copyright (c) 2007 Marcus Glocker <mglocker@openbsd.org> @@ -2320,9 +2320,9 @@ upgt_bulk_xmit(struct upgt_softc *sc, struct upgt_data *data, { usbd_status status; - status = usbd_bulk_transfer(data->xfer, pipeh, - USBD_NO_COPY | flags, UPGT_USB_TIMEOUT, data->buf, size, - "upgt_bulk_xmit"); + usbd_setup_xfer(data->xfer, pipeh, 0, data->buf, *size, + USBD_NO_COPY | USBD_SYNCHRONOUS | flags, UPGT_USB_TIMEOUT, NULL); + status = usbd_transfer(data->xfer); if (status != USBD_NORMAL_COMPLETION) { printf("%s: %s: error %s!\n", sc->sc_dev.dv_xname, __func__, usbd_errstr(status)); |