diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2009-05-22 06:46:42 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2009-05-22 06:46:42 +0000 |
commit | cbb550605fbdb3597c802042c1908df6766fb272 (patch) | |
tree | 0771006f24628c45ecd4a2f12706f565c619a651 /target/linux/adm5120/files/drivers/usb/host/adm5120-pm.c | |
parent | cf935e761391c3178280d28cbac2639bfe7698e5 (diff) | |
download | mtk-20170518-cbb550605fbdb3597c802042c1908df6766fb272.zip mtk-20170518-cbb550605fbdb3597c802042c1908df6766fb272.tar.gz mtk-20170518-cbb550605fbdb3597c802042c1908df6766fb272.tar.bz2 |
integrate 2.6.28 specific patch into the usb driver
SVN-Revision: 15975
Diffstat (limited to 'target/linux/adm5120/files/drivers/usb/host/adm5120-pm.c')
-rw-r--r-- | target/linux/adm5120/files/drivers/usb/host/adm5120-pm.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/target/linux/adm5120/files/drivers/usb/host/adm5120-pm.c b/target/linux/adm5120/files/drivers/usb/host/adm5120-pm.c index 9d49664..0ccf829 100644 --- a/target/linux/adm5120/files/drivers/usb/host/adm5120-pm.c +++ b/target/linux/adm5120/files/drivers/usb/host/adm5120-pm.c @@ -432,13 +432,17 @@ static inline int admhc_rh_resume(struct admhcd *ahcd) static int admhc_root_hub_state_changes(struct admhcd *ahcd, int changed, int any_connected) { - int poll_rh = 1; - - /* keep on polling until RHSC is enabled */ + /* If INSM is enabled, don't poll */ if (admhc_readl(ahcd, &ahcd->regs->int_enable) & ADMHC_INTR_INSM) - poll_rh = 0; + return 0; - return poll_rh; + /* If no status changes are pending, enable status-change interrupts */ + if (!changed) { + admhc_intr_enable(ahcd, ADMHC_INTR_INSM); + return 0; + } + + return 1; } #endif /* CONFIG_PM */ |