NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-arm/60021: USB-only boot: uhub0 attaches but uhub1 never appears, no hotplug events; SD-boot sees hub+umass fine




> On 4 Aug 2026, at 14:34, Taylor R Campbell <riastradh%NetBSD.org@localhost> wrote:
> 
>> Date: Sat, 21 Feb 2026 10:39:41 +0000
>> From: Nick Hudson <nick.hudson%gmx.co.uk@localhost>
>> 
>> This is almost certainly that autoconf doesn't wait (long enough) for
>> sub-ordintate hubs
>> 
>> https://nxr.netbsd.org/xref/src/sys/dev/usb/uhub.c#880
>> 
>>     880 mutex_enter(&sc->sc_lock);
>>     881 sc->sc_explorepending = false;
>>     882 for (int i = 0; i < sc->sc_statuslen; i++) {
>>     883 if (sc->sc_statuspend[i] != 0) {
>>     884 memcpy(sc->sc_status, sc->sc_statuspend,
>>     885    sc->sc_statuslen);
>>     886 memset(sc->sc_statuspend, 0, sc->sc_statuslen);
>>     887 usb_needs_explore(sc->sc_hub);
>>     888 break;
>>     889 }
>>     890 }
>>     891 mutex_exit(&sc->sc_lock);
>>     892 if (sc->sc_first_explore) {
>>     893 config_pending_decr(sc->sc_dev);
>>     894 sc->sc_first_explore = false;
>>     895 }
> 
> I don't understand, doesn't it wait for subordinate hubs?

Sure, but not long enough...

> ... Maybe the
> USB hub just doesn't report the device ready at first?

Because there’s no guarantee (afaik) that the root hub will see the built-in hub immediately.




Home | Main Index | Thread Index | Old Index