I think you should put it in. It seems to just work. OK florian fwiw On Tue, Feb 12, 2019 at 08:56:13AM +0100, Florian Obser wrote: > On Sun, Feb 10, 2019 at 03:55:32PM -0200, Martin Pieuchot wrote: > > On 10/02/19(Sun) 10:25, Florian Obser wrote: > > > on resume I was greeted by: > > > [typed from a photo (http://sha256.net/dump/usbd_fill_deviceinfo.jpg)] > > > kernel: page fault trap, code =0 > > > Stopped at strlcpy+0x35: movzbl 0(%rsi, %rax,1), %ecx > > > strlcpy(ffff800001459c81,0,7f) at strlcpy+0x35 > > > usbd_fill_deviceinfo at usbd_fill_deviceinfo+0x4f > > > usbioctl at usbioctl+0x409 > > > VOP_IOCTL at VOP_IOCTL+0x61 > > > vn_ioctl at vn_ioctl+0x6e > > > sys_ioctl at sys_ioctl+0x3d5 > > > syscall at syscall+0x338 > > > Xsyscall(6,36,4,36,3,0) at Xsyscall+0x128 > > > > > > I have a suspicion that this is related to my external monitor that > > > acts as a usb hub. Upon wake up I also turn on the monitor and then > > > random usb devices show up. > > > > Looks like a race. Does the diff below help? > > I don't know :( > I tried to reproduce without the diff but I was unsuccessful. > > I'm running with the diff now. But it will be hard to declare success. > > > > > Index: usb_subr.c > > =================================================================== > > RCS file: /cvs/src/sys/dev/usb/usb_subr.c,v > > retrieving revision 1.147 > > diff -u -p -r1.147 usb_subr.c > > --- usb_subr.c 22 Jan 2019 14:25:56 -0000 1.147 > > +++ usb_subr.c 10 Feb 2019 17:52:26 -0000 > > @@ -1208,7 +1208,6 @@ usbd_new_device(struct device *parent, s > > * address does not correspond to the hardware one. > > */ > > dev->address = addr; > > - bus->devices[addr] = dev; > > > > err = usbd_reload_device_desc(dev); > > if (err) { > > @@ -1244,6 +1243,8 @@ usbd_new_device(struct device *parent, s > > up->device = NULL; > > return (err); > > } > > + > > + bus->devices[addr] = dev; > > > > err = usbd_probe_and_attach(parent, dev, port, addr); > > if (err) { > > > > > -- > I'm not entirely sure you are real. >
-- I'm not entirely sure you are real.