-/* $OpenBSD: uhidev.c,v 1.105 2021/11/25 20:31:24 anton Exp $ */
+/* $OpenBSD: uhidev.c,v 1.106 2021/12/03 06:34:38 anton Exp $ */
/* $NetBSD: uhidev.c,v 1.14 2003/03/11 16:44:00 augustss Exp $ */
/*
/* Look for a driver claiming multiple report IDs first. */
dev = config_found_sm(self, &uha, NULL, NULL);
if (dev != NULL) {
+ int nclaimed = 0;
+
for (repid = 0; repid < nrepid; repid++) {
+ if (!uha.claimed[repid])
+ continue;
+
+ nclaimed++;
/*
* 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;
}
+ KASSERTMSG(nclaimed > 0, "%s did not claim any report ids",
+ dev->dv_xname);
}
free(uha.claimed, M_TEMP, nrepid);