diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2012-04-29 07:36:43 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2012-04-29 07:36:43 +0000 |
commit | 0c2c450f2425592f2a19f3a6a2a4a36cf8ec406a (patch) | |
tree | 15e272500401e7847d9ea7dc40a0fafb81f93c1d /target/linux/adm5120/files/drivers/usb/host/adm5120-hub.c | |
parent | d5cd0a15d41eb235804254b824658880bf0e26d8 (diff) | |
download | master-187ad058-0c2c450f2425592f2a19f3a6a2a4a36cf8ec406a.tar.gz master-187ad058-0c2c450f2425592f2a19f3a6a2a4a36cf8ec406a.tar.bz2 master-187ad058-0c2c450f2425592f2a19f3a6a2a4a36cf8ec406a.zip |
adm5120: merge 3.3 patches
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31511 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/adm5120/files/drivers/usb/host/adm5120-hub.c')
-rw-r--r-- | target/linux/adm5120/files/drivers/usb/host/adm5120-hub.c | 19 |
1 files changed, 11 insertions, 8 deletions
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 3c1ab652a0..8cabaf902d 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) { |