add missing mtx_leave() calls in error paths
authorjsg <jsg@openbsd.org>
Sun, 5 Dec 2021 15:35:32 +0000 (15:35 +0000)
committerjsg <jsg@openbsd.org>
Sun, 5 Dec 2021 15:35:32 +0000 (15:35 +0000)
ok anton@

sys/dev/usb/uhidpp.c

index 84bfc99..14ec611 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: uhidpp.c,v 1.19 2021/11/17 06:22:14 anton Exp $       */
+/*     $OpenBSD: uhidpp.c,v 1.20 2021/12/05 15:35:32 jsg Exp $ */
 
 /*
  * Copyright (c) 2021 Anton Lindqvist <anton@openbsd.org>
@@ -366,12 +366,14 @@ uhidpp_attach(struct device *parent, struct device *self, void *aux)
        error = uhidev_set_report_dev(sc->sc_hdev.sc_parent, &sc->sc_hdev,
            HIDPP_REPORT_ID_SHORT);
        if (error) {
+               mtx_leave(&sc->sc_mtx);
                printf(" short report error %d\n", error);
                return;
        }
        error = uhidev_set_report_dev(sc->sc_hdev.sc_parent, &sc->sc_hdev,
            HIDPP_REPORT_ID_LONG);
        if (error) {
+               mtx_leave(&sc->sc_mtx);
                printf(" long report error %d\n", error);
                return;
        }