On Thu, Aug 25, 2022 at 1:24 AM Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > > udev is not a usb_device structure; it is a _pointer_ to a usb_device > structure. The pointer is created when ehset_single_step_set_feature() > calls usb_hub_find_child(), but the structure itself gets created long > before that, when the USB device is first detected and initialized. > > You can see this happening where hub_port_connect() calls > usb_alloc_dev(). The ep0 field is filled in by hub_port_init() and the > routines it calls. > Thanks for clarifying this. That helps a lot. -- Khalid Masum