projects
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
uClibc: fix ubicom32 compile error with 0.9.32
[openwrt.git]
/
target
/
linux
/
adm5120
/
files
/
drivers
/
usb
/
host
/
adm5120-pm.c
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
ac7bf6c
..
0ccf829
100644
(file)
--- a/
target/linux/adm5120/files/drivers/usb/host/adm5120-pm.c
+++ b/
target/linux/adm5120/files/drivers/usb/host/adm5120-pm.c
@@
-1,7
+1,7
@@
/*
* ADM5120 HCD (Host Controller Driver) for USB
*
/*
* ADM5120 HCD (Host Controller Driver) for USB
*
- * Copyright (C) 2007
,2008 Gabor Juhos <juhosg at
openwrt.org>
+ * Copyright (C) 2007
-2008 Gabor Juhos <juhosg@
openwrt.org>
*
* This file was derived from fragments of the OHCI driver.
* (C) Copyright 1999 Roman Weissgaerber <weissg@vienna.at>
*
* This file was derived from fragments of the OHCI driver.
* (C) Copyright 1999 Roman Weissgaerber <weissg@vienna.at>
@@
-383,9
+383,8
@@
static int admhc_restart(struct admhcd *ahcd)
ed, ed->state);
}
ed, ed->state);
}
- spin_lock(&urb->lock);
- urb->status = -ESHUTDOWN;
- spin_unlock(&urb->lock);
+ if (!urb->unlinked)
+ urb->unlinked = -ESHUTDOWN;
}
finish_unlinks(ahcd, 0);
spin_unlock_irq(&ahcd->lock);
}
finish_unlinks(ahcd, 0);
spin_unlock_irq(&ahcd->lock);
@@
-433,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)
{
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)
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 */
}
#endif /* CONFIG_PM */
This page took
0.040569 seconds
and
4
git commands to generate.