> Thanks, the diff below should hopefully work as it corrects a > regression > introduced in uhidev_attach(). However, I'm not still convinced that > this is a good idea.
The patch applies and works, though I noticed in uhidev_attach osize is being checked twice, was it meant to be fsize? ( patch over yours attached, works on my system ) Additionally I'm a little confused, one of the differences between your patch and the previous commit is the use of local variables for isize, osize and fsize before assigning to the uha struct. I would think this would work--but it breaks it on my system?
diff --git a/sys/dev/usb/uhidev.c b/sys/dev/usb/uhidev.c index e41bfb3ae78..a202dfc2133 100644 --- dev/usb/uhidev.c +++ dev/usb/uhidev.c @@ -282,7 +282,7 @@ uhidev_attach(struct device *parent, struct device *self, void *aux) uha.isize = hid_report_size(desc, size, hid_input, repid); uha.osize = hid_report_size(desc, size, hid_output, repid); uha.fsize = hid_report_size(desc, size, hid_feature, repid); - if (uha.isize == 0 && uha.osize == 0 && uha.osize == 0) + if (uha.isize == 0 && uha.osize == 0 && uha.fsize == 0) continue; uha.reportid = repid; dev = config_found_sm(self, &uha, uhidevprint, uhidevsubmatch);