On Tue, Aug 22, 2017 at 2:18 PM, Nick Hudson <skrll%netbsd.org@localhost> wrote:
On 08/21/17 14:56, sc dying wrote:
On 2017/08/21 12:00, Nick Hudson wrote:
On 08/16/17 06:42, sc dying wrote:
When ukbd(4) is a console and connected to USB3 port, you can enter
into DDB by pressing ALT+CTRL+ESC but console freezes.
(on HEAD, netbsd-7, netbsd-8)
xhci has two buses, sc->sc_bus is for usb3 and sc->sc_bus2 is for
usb2. ukbd is usually connected at Low-Speed, so usbd_set_polling
sets sc->sc_bus2->ub_usepolling.
However, xhci.c checks only sc->sc_bus->ub_usepolling, that's why
xhci_poll does not call xhci_softintr.
I can show a quick dirty patch.
It assumes ub_usepolling is always set by ukbd at LS/FS/HS.
Can you test this patch please?
It does not work.
This patch helps xhci.c but does not usb_schedsoftintr in usb.c.
How about this? It's still all pretty ugly, but this should now work...
Nick
Yes, it works.
It's a good idea.
Thank you.