d7f31916bc
open_handle_port required a PortState for every port<N> directory open, but hub child ports have no PortState until the hub daemon triggers attach_device via port<N>/attach — an endpoint that itself is state-free (open_handle_attach_device). This made XhciClientHandle::new fail with ENOENT for unenumerated hub children, deadlocking the attach flow: usbhubd could never start enumeration for a device behind a non-root hub (panic at startup, caught by test-usb-hub-qemu.sh). Open the directory with the static listing when no PortState exists yet; state-dependent subpaths (descriptors, state, configure) still gate on the PortState being present.