Stuart Henderson writes:

> On 2021/07/13 01:29, Anindya Mukherjee wrote:
>> I have a Cyber Power CP1500PFCLCDa UPS and get exactly the same crash on the
>> latest snapshot if the USB cable is unplugged. My dmesg is very similar so 
>> I've
>> omitted it, but I'd also be happy to help debug this issue.
>> 
>> Regards,
>> Anindya
>> 
>
> First try backing out the "Allow uhidev child devices to claim selective
> report ids" commit from March.

Here is a diff that reverts:

2021-03-08 6545f693 jcs       Add another Type Cover device
2021-03-08 1f85050a jcs       regen
2021-03-08 fc9d2605 jcs       Add Surface Pro Type Cover
2021-03-08 f31b43ce jcs       Allow uhidev child devices to claim selective 
report ids

With them reverted, my UPS(s) no longer trigger panics on disconnect.

diff --git a/sys/dev/usb/fido.c b/sys/dev/usb/fido.c
index c6d846aaa84..77bd9b12175 100644
--- a/sys/dev/usb/fido.c
+++ b/sys/dev/usb/fido.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: fido.c,v 1.3 2021/03/08 14:35:57 jcs Exp $	*/
+/*	$OpenBSD: fido.c,v 1.2 2019/12/18 05:09:53 deraadt Exp $	*/
 
 /*
  * Copyright (c) 2019 Reyk Floeter <[email protected]>
@@ -63,7 +63,7 @@ fido_match(struct device *parent, void *match, void *aux)
 	void			 *desc;
 	int			  ret = UMATCH_NONE;
 
-	if (uha->reportid == UHIDEV_CLAIM_MULTIPLE_REPORTID)
+	if (uha->reportid == UHIDEV_CLAIM_ALLREPORTID)
 		return (ret);
 
 	/* Find the FIDO usage page and U2F collection */
diff --git a/sys/dev/usb/ucycom.c b/sys/dev/usb/ucycom.c
index ca8636f0a7f..ca6d6e9c6b2 100644
--- a/sys/dev/usb/ucycom.c
+++ b/sys/dev/usb/ucycom.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: ucycom.c,v 1.39 2021/03/08 14:35:57 jcs Exp $	*/
+/*	$OpenBSD: ucycom.c,v 1.38 2020/02/25 10:03:39 mpi Exp $	*/
 /*	$NetBSD: ucycom.c,v 1.3 2005/08/05 07:27:47 skrll Exp $	*/
 
 /*
@@ -165,7 +165,7 @@ ucycom_match(struct device *parent, void *match, void *aux)
 {
 	struct uhidev_attach_arg *uha = aux;
 
-	if (uha->reportid == UHIDEV_CLAIM_MULTIPLE_REPORTID)
+	if (uha->reportid == UHIDEV_CLAIM_ALLREPORTID)
 		return (UMATCH_NONE);
 
 	return (usb_lookup(ucycom_devs, uha->uaa->vendor, uha->uaa->product) != NULL ?
diff --git a/sys/dev/usb/ugold.c b/sys/dev/usb/ugold.c
index 752ecff64d2..865618cc17d 100644
--- a/sys/dev/usb/ugold.c
+++ b/sys/dev/usb/ugold.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: ugold.c,v 1.17 2021/04/05 16:26:06 landry Exp $   */
+/*	$OpenBSD: ugold.c,v 1.15 2020/08/17 04:26:57 gnezdo Exp $   */
 
 /*
  * Copyright (c) 2013 Takayoshi SASANO <[email protected]>
@@ -113,7 +113,7 @@ ugold_match(struct device *parent, void *match, void *aux)
 	int size;
 	void *desc;
 
-	if (uha->reportid == UHIDEV_CLAIM_MULTIPLE_REPORTID)
+	if (uha->reportid == UHIDEV_CLAIM_ALLREPORTID)
 		return (UMATCH_NONE);
 
 	if (usb_lookup(ugold_devs, uha->uaa->vendor, uha->uaa->product) == NULL)
diff --git a/sys/dev/usb/uhid.c b/sys/dev/usb/uhid.c
index 085c1523ccf..ba21e8cf96f 100644
--- a/sys/dev/usb/uhid.c
+++ b/sys/dev/usb/uhid.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: uhid.c,v 1.84 2021/03/08 14:35:57 jcs Exp $ */
+/*	$OpenBSD: uhid.c,v 1.83 2021/01/29 16:59:41 sthen Exp $ */
 /*	$NetBSD: uhid.c,v 1.57 2003/03/11 16:44:00 augustss Exp $	*/
 
 /*
@@ -115,7 +115,7 @@ uhid_match(struct device *parent, void *match, void *aux)
 {
 	struct uhidev_attach_arg *uha = aux;
 
-	if (uha->reportid == UHIDEV_CLAIM_MULTIPLE_REPORTID)
+	if (uha->reportid == UHIDEV_CLAIM_ALLREPORTID)
 		return (UMATCH_NONE);
 
 	return (UMATCH_IFACECLASS_GENERIC);
diff --git a/sys/dev/usb/uhidev.c b/sys/dev/usb/uhidev.c
index cbd0b8336f6..2333c260d71 100644
--- a/sys/dev/usb/uhidev.c
+++ b/sys/dev/usb/uhidev.c
@@ -1,5 +1,4 @@
 /*	$OpenBSD: uhidev.c,v 1.92 2021/03/18 09:21:53 anton Exp $	*/
-/*	$NetBSD: uhidev.c,v 1.14 2003/03/11 16:44:00 augustss Exp $	*/
 
 /*
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -250,28 +249,21 @@ uhidev_attach(struct device *parent, struct device *self, void *aux)
 
 	uha.uaa = uaa;
 	uha.parent = sc;
-	uha.reportid = UHIDEV_CLAIM_MULTIPLE_REPORTID;
-	uha.nreports = nrepid;
-	uha.claimed = malloc(nrepid, M_TEMP, M_WAITOK|M_ZERO);
+	uha.reportid = UHIDEV_CLAIM_ALLREPORTID;
 
-	/* Look for a driver claiming multiple report IDs first. */
+	/* Look for a driver claiming all report IDs first. */
 	dev = config_found_sm(self, &uha, NULL, uhidevsubmatch);
 	if (dev != NULL) {
 		for (repid = 0; repid < nrepid; repid++) {
 			/*
 			 * Could already be assigned by uhidev_set_report_dev().
 			 */
-			if (sc->sc_subdevs[repid] != NULL)
-				continue;
-
-			if (uha.claimed[repid])
+			if (sc->sc_subdevs[repid] == NULL)
 				sc->sc_subdevs[repid] = (struct uhidev *)dev;
 		}
+		return;
 	}
 
-	free(uha.claimed, M_TEMP, nrepid);
-	uha.claimed = NULL;
-
 	for (repid = 0; repid < nrepid; repid++) {
 		DPRINTF(("%s: try repid=%d\n", __func__, repid));
 		if (hid_report_size(desc, size, hid_input, repid) == 0 &&
@@ -362,7 +354,7 @@ uhidevprint(void *aux, const char *pnp)
 
 	if (pnp)
 		printf("uhid at %s", pnp);
-	if (uha->reportid != 0 && uha->reportid != UHIDEV_CLAIM_MULTIPLE_REPORTID)
+	if (uha->reportid != 0 && uha->reportid != UHIDEV_CLAIM_ALLREPORTID)
 		printf(" reportid %d", uha->reportid);
 	return (UNCONF);
 }
diff --git a/sys/dev/usb/uhidev.h b/sys/dev/usb/uhidev.h
index ad66873ea75..d11b0ad5fde 100644
--- a/sys/dev/usb/uhidev.h
+++ b/sys/dev/usb/uhidev.h
@@ -81,9 +81,7 @@ struct uhidev_attach_arg {
 	struct usb_attach_arg	*uaa;
 	struct uhidev_softc	*parent;
 	uint8_t			 reportid;
-#define	UHIDEV_CLAIM_MULTIPLE_REPORTID	255
-	uint8_t			 nreports;
-	uint8_t			 *claimed;
+#define	UHIDEV_CLAIM_ALLREPORTID	255
 };
 
 int uhidev_report_type_conv(int);
diff --git a/sys/dev/usb/ujoy.c b/sys/dev/usb/ujoy.c
index ca461e5969a..18a35d737b9 100644
--- a/sys/dev/usb/ujoy.c
+++ b/sys/dev/usb/ujoy.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: ujoy.c,v 1.2 2021/03/08 14:35:57 jcs Exp $ */
+/*	$OpenBSD: ujoy.c,v 1.1 2021/01/23 05:08:36 thfr Exp $ */
 
 /*
  * Copyright (c) 2021 Thomas Frohwein	<[email protected]>
@@ -104,7 +104,7 @@ ujoy_match(struct device *parent, void *match, void *aux)
 	void			 *desc;
 	int			  ret = UMATCH_NONE;
 
-	if (uha->reportid == UHIDEV_CLAIM_MULTIPLE_REPORTID)
+	if (uha->reportid == UHIDEV_CLAIM_ALLREPORTID)
 		return (ret);
 
 	/* Find the general usage page and gamecontroller collections */
diff --git a/sys/dev/usb/umstc.c b/sys/dev/usb/umstc.c
index 0f232671f95..71cd2d2b829 100644
--- a/sys/dev/usb/umstc.c
+++ b/sys/dev/usb/umstc.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: umstc.c,v 1.4 2021/03/08 14:39:34 jcs Exp $ */
+/*	$OpenBSD: umstc.c,v 1.3 2020/09/14 15:21:08 deraadt Exp $ */
 
 /*
  * Copyright (c) 2020 joshua stein <[email protected]>
@@ -70,7 +70,6 @@ const struct cfattach umstc_ca = {
 static const struct usb_devno umstc_devs[] = {
 	{ USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_TYPECOVER },
 	{ USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_TYPECOVER2 },
-	{ USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_TYPECOVER3 },
 };
 
 int
diff --git a/sys/dev/usb/umt.c b/sys/dev/usb/umt.c
index 3aa45bf298a..4218fdefe97 100644
--- a/sys/dev/usb/umt.c
+++ b/sys/dev/usb/umt.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: umt.c,v 1.4 2021/03/24 02:49:57 jcs Exp $ */
+/* $OpenBSD: umt.c,v 1.2 2020/08/23 11:08:02 mglocker Exp $ */
 /*
  * USB multitouch touchpad driver for devices conforming to
  * Windows Precision Touchpad standard
@@ -64,8 +64,8 @@ const struct wsmouse_accessops umt_accessops = {
 };
 
 int	umt_match(struct device *, void *, void *);
-int	umt_find_winptp_reports(struct uhidev_softc *, void *, int, int *,
-	    int *, int *);
+int	umt_find_winptp_reports(struct uhidev_softc *, void *, int,
+	    struct umt_softc *);
 void	umt_attach(struct device *, struct device *, void *);
 int	umt_hidev_get_report(struct device *, int, int, void *, int);
 int	umt_hidev_set_report(struct device *, int, int, void *, int);
@@ -86,19 +86,13 @@ int
 umt_match(struct device *parent, void *match, void *aux)
 {
 	struct uhidev_attach_arg *uha = (struct uhidev_attach_arg *)aux;
-	int input = 0, conf = 0, cap = 0;
 	int size;
 	void *desc;
 
-	if (uha->reportid == UHIDEV_CLAIM_MULTIPLE_REPORTID) {
+	if (uha->reportid == UHIDEV_CLAIM_ALLREPORTID) {
 		uhidev_get_report_desc(uha->parent, &desc, &size);
-		if (umt_find_winptp_reports(uha->parent, desc, size, &input,
-		    &conf, &cap)) {
-			uha->claimed[input] = 1;
-			uha->claimed[conf] = 1;
-			uha->claimed[cap] = 1;
+		if (umt_find_winptp_reports(uha->parent, desc, size, NULL))
 			return (UMATCH_DEVCLASS_DEVSUBCLASS);
-		}
 	}
 
 	return (UMATCH_NONE);
@@ -106,17 +100,16 @@ umt_match(struct device *parent, void *match, void *aux)
 
 int
 umt_find_winptp_reports(struct uhidev_softc *parent, void *desc, int size,
-    int *input, int *config, int *cap)
+    struct umt_softc *sc)
 {
 	int repid;
-	int finput = 0, fconf = 0, fcap = 0;
+	int input = 0, conf = 0, cap = 0;
 
-	if (input != NULL)
-		*input = -1;
-	if (config != NULL)
-		*config = -1;
-	if (cap != NULL)
-		*cap = -1;
+	if (sc != NULL) {
+		sc->sc_rep_input = -1;
+		sc->sc_rep_config = -1;
+		sc->sc_rep_cap = -1;
+	}
 
 	for (repid = 0; repid < parent->sc_nrepid; repid++) {
 		if (hid_report_size(desc, size, hid_input, repid) == 0 &&
@@ -126,26 +119,26 @@ umt_find_winptp_reports(struct uhidev_softc *parent, void *desc, int size,
 
 		if (hid_is_collection(desc, size, repid,
 		    HID_USAGE2(HUP_DIGITIZERS, HUD_TOUCHPAD))) {
-			finput = 1;
-			if (input != NULL && *input == -1)
-				*input = repid;
+			input = 1;
+			if (sc != NULL && sc->sc_rep_input == -1)
+				sc->sc_rep_input = repid;
 		} else if (hid_is_collection(desc, size, repid,
 		    HID_USAGE2(HUP_DIGITIZERS, HUD_CONFIG))) {
-			fconf = 1;
-			if (config != NULL && *config == -1)
-				*config = repid;
+			conf = 1;
+			if (sc != NULL && sc->sc_rep_config == -1)
+				sc->sc_rep_config = repid;
 		}
 
 		/* capabilities report could be anywhere */
 		if (hid_locate(desc, size, HID_USAGE2(HUP_DIGITIZERS,
 		    HUD_CONTACT_MAX), repid, hid_feature, NULL, NULL)) {
-			fcap = 1;
-			if (cap != NULL && *cap == -1)
-				*cap = repid;
+			cap = 1;
+			if (sc != NULL && sc->sc_rep_cap == -1)
+				sc->sc_rep_cap = repid;
 		}
 	}
 
-	return (fconf && finput && fcap);
+	return (conf && input && cap);
 }
 
 void
@@ -167,8 +160,7 @@ umt_attach(struct device *parent, struct device *self, void *aux)
 	sc->sc_quirks = usbd_get_quirks(sc->sc_hdev.sc_udev)->uq_flags;
 
 	uhidev_get_report_desc(uha->parent, &desc, &size);
-	umt_find_winptp_reports(uha->parent, desc, size, &sc->sc_rep_input,
-	    &sc->sc_rep_config, &sc->sc_rep_cap);
+	umt_find_winptp_reports(uha->parent, desc, size, sc);
 
 	memset(mt, 0, sizeof(sc->sc_mt));
 
diff --git a/sys/dev/usb/uoaklux.c b/sys/dev/usb/uoaklux.c
index c97bdf57285..3932b139a51 100644
--- a/sys/dev/usb/uoaklux.c
+++ b/sys/dev/usb/uoaklux.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: uoaklux.c,v 1.14 2021/03/08 14:35:57 jcs Exp $   */
+/*	$OpenBSD: uoaklux.c,v 1.13 2017/04/08 02:57:25 deraadt Exp $   */
 
 /*
  * Copyright (c) 2012 Yojiro UO <[email protected]>
@@ -107,7 +107,7 @@ uoaklux_match(struct device *parent, void *match, void *aux)
 {
 	struct uhidev_attach_arg *uha = aux;
 
-	if (uha->reportid == UHIDEV_CLAIM_MULTIPLE_REPORTID)
+	if (uha->reportid == UHIDEV_CLAIM_ALLREPORTID)
 		return (UMATCH_NONE);
 
 	if (uoaklux_lookup(uha->uaa->vendor, uha->uaa->product) == NULL)
diff --git a/sys/dev/usb/uoakrh.c b/sys/dev/usb/uoakrh.c
index 1e1e49a426c..66a030409de 100644
--- a/sys/dev/usb/uoakrh.c
+++ b/sys/dev/usb/uoakrh.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: uoakrh.c,v 1.16 2021/03/08 14:35:57 jcs Exp $   */
+/*	$OpenBSD: uoakrh.c,v 1.15 2017/04/08 02:57:25 deraadt Exp $   */
 
 /*
  * Copyright (c) 2012 Yojiro UO <[email protected]>
@@ -110,7 +110,7 @@ uoakrh_match(struct device *parent, void *match, void *aux)
 {
 	struct uhidev_attach_arg *uha = aux;
 
-	if (uha->reportid == UHIDEV_CLAIM_MULTIPLE_REPORTID)
+	if (uha->reportid == UHIDEV_CLAIM_ALLREPORTID)
 		return (UMATCH_NONE);
 
 	if (uoakrh_lookup(uha->uaa->vendor, uha->uaa->product) == NULL)
diff --git a/sys/dev/usb/uoakv.c b/sys/dev/usb/uoakv.c
index 2963e47da0d..a8cdb734001 100644
--- a/sys/dev/usb/uoakv.c
+++ b/sys/dev/usb/uoakv.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: uoakv.c,v 1.14 2021/03/08 14:35:57 jcs Exp $   */
+/*	$OpenBSD: uoakv.c,v 1.13 2017/04/08 02:57:25 deraadt Exp $   */
 
 /*
  * Copyright (c) 2012 Yojiro UO <[email protected]>
@@ -110,7 +110,7 @@ uoakv_match(struct device *parent, void *match, void *aux)
 {
 	struct uhidev_attach_arg *uha = aux;
 
-	if (uha->reportid == UHIDEV_CLAIM_MULTIPLE_REPORTID)
+	if (uha->reportid == UHIDEV_CLAIM_ALLREPORTID)
 		return (UMATCH_NONE);
 
 	if (uoakv_lookup(uha->uaa->vendor, uha->uaa->product) == NULL)
diff --git a/sys/dev/usb/upd.c b/sys/dev/usb/upd.c
index ad65b77718b..50cc25af08f 100644
--- a/sys/dev/usb/upd.c
+++ b/sys/dev/usb/upd.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: upd.c,v 1.29 2021/03/08 14:35:57 jcs Exp $ */
+/*	$OpenBSD: upd.c,v 1.28 2021/01/29 16:59:41 sthen Exp $ */
 
 /*
  * Copyright (c) 2015 David Higgs <[email protected]>
@@ -155,7 +155,7 @@ upd_match(struct device *parent, void *match, void *aux)
 	int			  ret = UMATCH_NONE;
 	int			  i;
 
-	if (uha->reportid != UHIDEV_CLAIM_MULTIPLE_REPORTID)
+	if (uha->reportid != UHIDEV_CLAIM_ALLREPORTID)
 		return (ret);
 
 	DPRINTF(("upd: vendor=0x%04x, product=0x%04x\n", uha->uaa->vendor,
diff --git a/sys/dev/usb/usbdevs b/sys/dev/usb/usbdevs
index be2674988fb..ab27d9d8fdc 100644
--- a/sys/dev/usb/usbdevs
+++ b/sys/dev/usb/usbdevs
@@ -1,4 +1,4 @@
-$OpenBSD: usbdevs,v 1.740 2021/05/18 14:23:03 kevlo Exp $
+$OpenBSD: usbdevs,v 1.731 2021/02/27 03:03:40 jsg Exp $
 /* $NetBSD: usbdevs,v 1.322 2003/05/10 17:47:14 hamajima Exp $ */
 
 /*
@@ -3125,7 +3125,6 @@ product MICROSOFT DOCKETH2	0x07c6	Surface Dock Ethernet
 product MICROSOFT SURFETH	0x0927	Surface Ethernet
 product MICROSOFT TYPECOVER	0x096f	Surface Go Type Cover
 product MICROSOFT TYPECOVER2	0x09b5	Surface Go Type Cover
-product MICROSOFT TYPECOVER3	0x09c0	Surface Pro Type Cover
 
 /* Microtech products */
 product MICROTECH SCSIDB25	0x0004	SCSI-DB25
diff --git a/sys/dev/usb/usbdevs.h b/sys/dev/usb/usbdevs.h
index c8956e5a562..47cb4ccdecc 100644
--- a/sys/dev/usb/usbdevs.h
+++ b/sys/dev/usb/usbdevs.h
@@ -1,11 +1,3 @@
-/*	$OpenBSD: usbdevs.h,v 1.752 2021/05/18 14:23:53 kevlo Exp $	*/
-
-/*
- * THIS FILE IS AUTOMATICALLY GENERATED.  DO NOT EDIT.
- *
- * generated from:
- *	OpenBSD: usbdevs,v 1.740 2021/05/18 14:23:03 kevlo Exp 
- */
 /* $NetBSD: usbdevs,v 1.322 2003/05/10 17:47:14 hamajima Exp $ */
 
 /*
@@ -3132,7 +3124,6 @@
 #define	USB_PRODUCT_MICROSOFT_SURFETH	0x0927		/* Surface Ethernet */
 #define	USB_PRODUCT_MICROSOFT_TYPECOVER	0x096f		/* Surface Go Type Cover */
 #define	USB_PRODUCT_MICROSOFT_TYPECOVER2	0x09b5		/* Surface Go Type Cover */
-#define	USB_PRODUCT_MICROSOFT_TYPECOVER3	0x09c0		/* Surface Pro Type Cover */
 
 /* Microtech products */
 #define	USB_PRODUCT_MICROTECH_SCSIDB25	0x0004		/* SCSI-DB25 */
diff --git a/sys/dev/usb/usbdevs_data.h b/sys/dev/usb/usbdevs_data.h
index 97421f8ea74..83f908f7a58 100644
--- a/sys/dev/usb/usbdevs_data.h
+++ b/sys/dev/usb/usbdevs_data.h
@@ -1,11 +1,3 @@
-/*	$OpenBSD: usbdevs_data.h,v 1.746 2021/05/18 14:23:53 kevlo Exp $	*/
-
-/*
- * THIS FILE IS AUTOMATICALLY GENERATED.  DO NOT EDIT.
- *
- * generated from:
- *	OpenBSD: usbdevs,v 1.740 2021/05/18 14:23:03 kevlo Exp 
- */
 /* $NetBSD: usbdevs,v 1.322 2003/05/10 17:47:14 hamajima Exp $ */
 
 /*
@@ -7581,10 +7573,6 @@ const struct usb_known_product usb_known_products[] = {
 	    USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_TYPECOVER2,
 	    "Surface Go Type Cover",
 	},
-	{
-	    USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_TYPECOVER3,
-	    "Surface Pro Type Cover",
-	},
 	{
 	    USB_VENDOR_MICROTECH, USB_PRODUCT_MICROTECH_SCSIDB25,
 	    "SCSI-DB25",
diff --git a/sys/dev/usb/uslhcom.c b/sys/dev/usb/uslhcom.c
index 15291aae645..39db391aecd 100644
--- a/sys/dev/usb/uslhcom.c
+++ b/sys/dev/usb/uslhcom.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: uslhcom.c,v 1.7 2021/03/08 14:35:57 jcs Exp $	*/
+/*	$OpenBSD: uslhcom.c,v 1.6 2017/04/08 02:57:25 deraadt Exp $	*/
 
 /*
  * Copyright (c) 2015 SASANO Takayoshi <[email protected]>
@@ -115,7 +115,7 @@ uslhcom_match(struct device *parent, void *match, void *aux)
 	struct uhidev_attach_arg *uha = aux;
 
 	/* use all report IDs */
-	if (uha->reportid != UHIDEV_CLAIM_MULTIPLE_REPORTID)
+	if (uha->reportid != UHIDEV_CLAIM_ALLREPORTID)
 		return UMATCH_NONE;
 
 	return (usb_lookup(uslhcom_devs,
diff --git a/sys/dev/usb/uthum.c b/sys/dev/usb/uthum.c
index d368472c19a..601abdc64ab 100644
--- a/sys/dev/usb/uthum.c
+++ b/sys/dev/usb/uthum.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: uthum.c,v 1.35 2021/03/08 14:35:57 jcs Exp $   */
+/*	$OpenBSD: uthum.c,v 1.34 2020/02/14 14:55:30 mpi Exp $   */
 
 /*
  * Copyright (c) 2009, 2010 Yojiro UO <[email protected]>
@@ -167,7 +167,7 @@ uthum_match(struct device *parent, void *match, void *aux)
 {
 	struct uhidev_attach_arg *uha = aux;
 
-	if (uha->reportid == UHIDEV_CLAIM_MULTIPLE_REPORTID)
+	if (uha->reportid == UHIDEV_CLAIM_ALLREPORTID)
 		return (UMATCH_NONE);
 
 	if (uthum_lookup(uha->uaa->vendor, uha->uaa->product) == NULL)
diff --git a/sys/dev/usb/utrh.c b/sys/dev/usb/utrh.c
index c74ca0746ca..cd6f43c06d9 100644
--- a/sys/dev/usb/utrh.c
+++ b/sys/dev/usb/utrh.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: utrh.c,v 1.24 2021/03/08 14:35:57 jcs Exp $   */
+/*	$OpenBSD: utrh.c,v 1.23 2020/02/25 10:03:39 mpi Exp $   */
 
 /*
  * Copyright (c) 2009 Yojiro UO <[email protected]>
@@ -93,7 +93,7 @@ utrh_match(struct device *parent, void *match, void *aux)
 {
 	struct uhidev_attach_arg *uha = aux;
 
-	if (uha->reportid == UHIDEV_CLAIM_MULTIPLE_REPORTID)
+	if (uha->reportid == UHIDEV_CLAIM_ALLREPORTID)
 		return (UMATCH_NONE);
 
 	return (usb_lookup(utrh_devs, uha->uaa->vendor, uha->uaa->product) != NULL ?
diff --git a/sys/dev/usb/utwitch.c b/sys/dev/usb/utwitch.c
index a7a5479700f..cc8396a21dd 100644
--- a/sys/dev/usb/utwitch.c
+++ b/sys/dev/usb/utwitch.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: utwitch.c,v 1.21 2021/03/08 14:35:57 jcs Exp $ */
+/*	$OpenBSD: utwitch.c,v 1.20 2020/02/25 10:03:39 mpi Exp $ */
 
 /*
  * Copyright (c) 2010 Yojiro UO <[email protected]>
@@ -107,7 +107,7 @@ utwitch_match(struct device *parent, void *match, void *aux)
 {
 	struct uhidev_attach_arg *uha = aux;
 
-	if (uha->reportid == UHIDEV_CLAIM_MULTIPLE_REPORTID)
+	if (uha->reportid == UHIDEV_CLAIM_ALLREPORTID)
 		return (UMATCH_NONE);
 
 	return (usb_lookup(utwitch_devs, uha->uaa->vendor, uha->uaa->product) != NULL ?

Reply via email to