I have a diff or two for that, will send when I'll come home. ср, 15 янв. 2020 г., 19:28 Martin Pieuchot <m...@openbsd.org>:
> Thanks for the report. > > > ddb{0}> > memcpy(ffff800000165000,fffffd804da1f728,8d8,ffff800000165000,b5bd47118 > > ed5c95a,ffff800000165000) at memcpy+0x15 > > uvideo_vs_cb(fffffd80778f2870,ffff8000001667d8,0) at uvideo_vs_cb+0x8b > > usb_transfer_complete(fffffd80778f2870) at usb_transfer_complete+0x20f > > xhci_event_dequeue(ffff8000000af000) at xhci_event_dequeue+0x103 > > xhci_softintr(ffff8000000af000) at xhci_softintr+0x2d > > softintr_dispatch(1) at softintr_dispatch+0xf2 > > Xsoftnet(0,ffffffff819c05e0,0,18041969,80,a) at Xsoftnet+0x1f > > Xspllower(0,0,c7ef80837208d4cc,ffff80000159c000,ffffffff81983ee1,708000) > at Xsp > > llower+0x19 > > free(ffff80000159c000,2,708000) at free+0x160 > > uvideo_detach(ffff800000165000,1) at uvideo_detach+0x71 > > config_detach(ffff800000165000,1) at config_detach+0x152 > > usbd_detach(ffff800000137500,ffff800000086d00) at usbd_detach+0x5a > > uhub_port_connect(ffff800000086d00,4,2a0,286) at uhub_port_connect+0x68 > > uhub_explore(ffff8000000a9500) at uhub_explore+0x23d > > usb_explore(ffff8000000a9400) at usb_explore+0x12b > > usb_task_thread(ffff80001f8efb30) at usb_task_thread+0x10b > > end trace frame: 0x0, count: -16 > > ddb{0}> > memcpy(ffff800000165000,fffffd804da1f728,8d8,ffff800000165000,b5bd47118 > > It seems that the pipe aren't close when uvideo_detach() is called. > This is similar to the recent race fixed in uhidev(4). It would be > great to find a generic way of handling this situation. > > uhidev_detach() calls vdevgone() for example... > >