From 0c3e51f31ceb672b391aa4b4086ab5e0edf07fc1 Mon Sep 17 00:00:00 2001 From: juhosg Date: Sun, 29 Apr 2012 07:36:43 +0000 Subject: adm5120: merge 3.3 patches git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31511 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../adm5120/files/drivers/usb/host/adm5120-hub.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'target/linux/adm5120/files/drivers/usb/host/adm5120-hub.c') diff --git a/target/linux/adm5120/files/drivers/usb/host/adm5120-hub.c b/target/linux/adm5120/files/drivers/usb/host/adm5120-hub.c index 3c1ab652a..8cabaf902 100644 --- a/target/linux/adm5120/files/drivers/usb/host/adm5120-hub.c +++ b/target/linux/adm5120/files/drivers/usb/host/adm5120-hub.c @@ -75,7 +75,7 @@ admhc_hub_status_data(struct usb_hcd *hcd, char *buf) u32 status; spin_lock_irqsave(&ahcd->lock, flags); - if (!test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags)) + if (!HCD_HW_ACCESSIBLE(hcd)) goto done; /* init status */ @@ -106,8 +106,11 @@ admhc_hub_status_data(struct usb_hcd *hcd, char *buf) } } - hcd->poll_rh = admhc_root_hub_state_changes(ahcd, changed, - any_connected); + if (admhc_root_hub_state_changes(ahcd, changed, + any_connected)) + set_bit(HCD_FLAG_POLL_RH, &hcd->flags); + else + clear_bit(HCD_FLAG_POLL_RH, &hcd->flags); done: spin_unlock_irqrestore(&ahcd->lock, flags); @@ -143,9 +146,9 @@ static int admhc_get_hub_descriptor(struct admhcd *ahcd, char *buf) temp |= 0x0008; desc->wHubCharacteristics = (__force __u16)cpu_to_hc16(ahcd, temp); - /* two bitmaps: ports removable, and usb 1.0 legacy PortPwrCtrlMask */ - desc->bitmap[0] = 0; - desc->bitmap[0] = ~0; + /* ports removable, and usb 1.0 legacy PortPwrCtrlMask */ + desc->u.hs.DeviceRemovable[0] = 0; + desc->u.hs.DeviceRemovable[0] = ~0; return 0; } @@ -310,10 +313,10 @@ static int admhc_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, u16 wIndex, char *buf, u16 wLength) { struct admhcd *ahcd = hcd_to_admhcd(hcd); - int ports = hcd_to_bus(hcd)->root_hub->maxchild; + int ports = ahcd->num_ports; int ret = 0; - if (unlikely(!test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags))) + if (unlikely(!HCD_HW_ACCESSIBLE(hcd))) return -ESHUTDOWN; switch (typeReq) { -- cgit v1.2.3