> 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);

Reply via email to