On Tue, 21 Aug 2012, Lan Tianyu wrote: > From: "Signed-off-by: Lan Tianyu" <tianyu.lan@xxxxxxxxx> What happened here? That's not right. > ACPI provide "_PLD" and "_UPC" aml methods to describe usb port > visibility and connectability. This patch is to use those information > to set usb port's DeviceRemovable. By the way, what tree are these patches based on? None of the new hub-port stuff seems to be in Greg's USB tree yet. > diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c > index 65c91300..4c631d3 100644 > --- a/drivers/usb/core/hub.c > +++ b/drivers/usb/core/hub.c > @@ -1560,6 +1560,10 @@ static int hub_configure(struct usb_hub *hub, > dev_err(hub->intfdev, > "couldn't create port%d device.\n", i + 1); > > + /* Get hub descripor again to sync port's DeviceRemovable > + * after the usb port devices being created. > + */ > + get_hub_descriptor(hdev, hub->descriptor); Why is this needed? Do you have any reason to think the hub descriptor has changed since the first time we retrieved it? > diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c > index c788022..0a3bb05 100644 > --- a/drivers/usb/host/ehci-hub.c > +++ b/drivers/usb/host/ehci-hub.c > @@ -636,6 +636,7 @@ ehci_hub_descriptor ( > struct usb_hub_descriptor *desc > ) { > int ports = HCS_N_PORTS (ehci->hcs_params); > + int i; > u16 temp; > > desc->bDescriptorType = 0x29; > @@ -648,7 +649,14 @@ ehci_hub_descriptor ( > > /* two bitmaps: ports removable, and usb 1.0 legacy PortPwrCtrlMask */ > memset(&desc->u.hs.DeviceRemovable[0], 0, temp); > - memset(&desc->u.hs.DeviceRemovable[temp], 0xff, temp); > + memset(&desc->u.hs.DeviceRemovable[temp], 0xff, ltemp); What is ltemp? Did you really mean to change this line? > + > + for (i = 1; i <= ports; i++) { > + if (usb_get_hub_port_connect_type(hcd->self.root_hub, i); > + == USB_PORT_CONNECT_TYPE_HARD_WIRED) > + desc->u.hs.DeviceRemovable[ports/8] |= 1 << (i%8); You have "ports/8" where it should be "i/8". > + } > + > > temp = 0x0008; /* per-port overcurrent reporting */ > if (HCS_PPC (ehci->hcs_params)) Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html