Page MenuHomeFreeBSD

usb_hub: Trigger only chaged port on enumeration
Needs ReviewPublic

Authored by aokblast on May 8 2026, 5:15 PM.
Tags
Referenced Files
F170874772: D56891.diff
Mon, Sep 7, 5:13 AM
Unknown Object (File)
Sun, Sep 6, 2:17 PM
Unknown Object (File)
Sat, Sep 5, 9:13 PM
Unknown Object (File)
Sat, Sep 5, 7:00 PM
Unknown Object (File)
Sat, Sep 5, 11:56 AM
Unknown Object (File)
Fri, Sep 4, 11:35 PM
Unknown Object (File)
Thu, Sep 3, 5:56 PM
Unknown Object (File)
Thu, Sep 3, 5:37 PM
Subscribers
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

USB hub records changed ports in every hotplug event interrupt.
Instead of reading port status one by one, we use the data from the
callback to speedup enumeration.
Host Controller also does the same thing. But we don't plan to fix it in
this patch since it requires to aggregate all Port Status Changed TRB.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 72936
Build 69819: arc lint + arc unit

Event Timeline

bz added inline comments.
sys/dev/usb/usb_hub.c
2304

You could make this a bool and pass true/false instead of using an uint8_t?