On Thu, 23 Aug 2012, Lan Tianyu wrote:

> >>> Why not just update the ACPI information using the current hub
> >>> descriptor?  You don't need to fetch the hub descriptor again.
> >>>
> >> You mean to set DeviceRemovable directly rather than via hub descriptor 
> >> request
> >> here, right?
> > 
> > Right.  DeviceRemovable should be set in only one place, and this
> > should be that place.
> > 
> But if other places got hub descriptor, they can't get DeviceRemovable
> value since we only set DeviceRemovable in the hub_configure().(e.g lsusb).

I don't understand.  lsusb will be able to see the DeviceRemovable 
values in sysfs, won't it?

Besides, there aren't any other places in the kernel that get the hub 
descriptor.

> Another problem is that some hcds will set DeviceRemovable themselves.
> There will be a conflict between hcd and acpi information. Different
> hcds may have different processes.

There is always the possibility of a conflict.  This remains true 
whether you get the hub descriptor once or twice.

>  So at first, I put setting
> DeviceRemovable in the hcd's hub descriptor request routine.

But that is the wrong place to put it.  As you pointed out, when the 
hub descriptor is requested we don't know how many ports there are and 
so we can't set up the DeviceRemovable information.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to