> > usb_hub_port_connect_change() should drop the semaphore
> > before usb_new_device(). How to do that? Is doing usb_new_device
> > several times really necessary?
>
> The semaphore protects the bus for the 0 address. We could either move
> obtaining the sempahore into usb_new_device(), or move the
> usb_set_address() call into usb_hub_port_connect_change().
>
> I think we should move the semaphore into usb_new_device() and
> usb_reset_device() into usb.c.
Isn't usb_new_device() too late ? It seems to me that the critical section
starts here:
/* Reset the device */
if (usb_hub_port_reset(hub, port, dev, delay)) {
usb_free_dev(dev);
break;
}
IMHO till usb_set_address() is the hub driver's job.
Regards
Oliver
-------------------------------------------------------
This sf.net email is sponsored by:
With Great Power, Comes Great Responsibility
Learn to use your power at OSDN's High Performance Computing Channel
http://hpc.devchannel.org/
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel