From: kevlo Date: Fri, 20 Aug 2021 04:54:10 +0000 (+0000) Subject: Back out last commit. X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=ca35d09358908198676e2c1492fa45e722582310;p=openbsd Back out last commit. deraadt@ pointed out that the operation is correct. It attaches, but by then it is being pulled. The dying flag is set to avoid half the kinds of failure conditions. The other half of the failure conditions are detect on-the-spot. And it seems when compiled for debug, this on-the-spot check which notices the device isn't there, has a printf. --- diff --git a/sys/dev/usb/if_ure.c b/sys/dev/usb/if_ure.c index 75d7cbaf215..31e92826594 100644 --- a/sys/dev/usb/if_ure.c +++ b/sys/dev/usb/if_ure.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_ure.c,v 1.27 2021/08/20 01:40:51 kevlo Exp $ */ +/* $OpenBSD: if_ure.c,v 1.28 2021/08/20 04:54:10 kevlo Exp $ */ /*- * Copyright (c) 2015, 2016, 2019 Kevin Lo * Copyright (c) 2020 Jonathon Fletcher @@ -223,7 +223,7 @@ ure_ctl(struct ure_softc *sc, uint8_t rw, uint16_t val, uint16_t index, usbd_status err; if (usbd_is_dying(sc->ure_udev)) - return -1; + return 0; if (rw == URE_CTL_WRITE) req.bmRequestType = UT_WRITE_VENDOR_DEVICE; @@ -239,8 +239,6 @@ ure_ctl(struct ure_softc *sc, uint8_t rw, uint16_t val, uint16_t index, err = usbd_do_request(sc->ure_udev, &req, buf); if (err) { DPRINTF(("ure_ctl: error %d\n", err)); - if (err == USBD_CANCELLED || err == USBD_TIMEOUT) - usbd_deactivate(sc->ure_udev); return -1; }