On 2012年12月05日 23:58, Alan Stern wrote: > On Wed, 5 Dec 2012, Lan Tianyu wrote: > >> Hi Alan: >> how about following patch? >> >> Index: usb/drivers/usb/core/hub.c >> =================================================================== >> --- usb.orig/drivers/usb/core/hub.c >> +++ usb/drivers/usb/core/hub.c > >> +void usb_hub_adjust_DeviceRemovable(struct usb_device *hdev, >> + struct usb_hub_descriptor *desc) >> +{ >> + enum usb_port_connect_type connect_type; >> + int i; >> + >> + if (!hub_is_superspeed(hdev)) { >> + for (i = 1; i <= hdev->maxchild; i++) { >> + connect_type = >> + usb_get_hub_port_connect_type(hdev, i); >> + >> + if (connect_type == >> USB_PORT_CONNECT_TYPE_HARD_WIRED) { >> + u8 mask = 1 << (i%8); >> + >> + if (!(desc->u.hs.DeviceRemovable[i/8] & >> mask)) >> + dev_dbg(&hdev->dev, "usb2.0 > > There's no need to specify "usb2.0". The kernel log already mentions > the hub's speed. > >> port%d's DeviceRemovable is changed to 1 according platform >> information.\n", i); > > s/according/according to/ > >> + >> + desc->u.hs.DeviceRemovable[i/8] >> + |= mask; > > You might as well put this line inside the "if" statement. > >> + } >> + } >> + } else { >> + u16 port_removable = >> + le16_to_cpu(desc->u.ss.DeviceRemovable); >> + >> + for (i = 1; i <= hdev->maxchild; i++) { >> + connect_type = >> + usb_get_hub_port_connect_type(hdev, i); >> + >> + if (connect_type == >> USB_PORT_CONNECT_TYPE_HARD_WIRED) { >> + u16 mask = 1 << i; >> + >> + if (!(port_removable & mask)) >> + dev_dbg(&hdev->dev, "usb3.0 >> port%d's DeviceRemovable is changed to 1 according platform >> information.\n", i); >> + >> + port_removable |= mask; > > Same comments here. > >> + } >> + } >> + >> + desc->u.ss.DeviceRemovable = >> + cpu_to_le16(port_removable); >> + } >> +} > > The rest looks okay. Remember to run your patches through checkpatch > before submitting them. Ok. I get it. > > Alan Stern > -- Best regards Tianyu Lan -- 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