|
@@ -816,10 +816,11 @@ static int ehci_hub_control (
|
|
* power switching; they're allowed to just limit the
|
|
* power switching; they're allowed to just limit the
|
|
* current. khubd will turn the power back on.
|
|
* current. khubd will turn the power back on.
|
|
*/
|
|
*/
|
|
- if (HCS_PPC (ehci->hcs_params)){
|
|
|
|
|
|
+ if ((temp & PORT_OC) && HCS_PPC(ehci->hcs_params)) {
|
|
ehci_writel(ehci,
|
|
ehci_writel(ehci,
|
|
temp & ~(PORT_RWC_BITS | PORT_POWER),
|
|
temp & ~(PORT_RWC_BITS | PORT_POWER),
|
|
status_reg);
|
|
status_reg);
|
|
|
|
+ temp = ehci_readl(ehci, status_reg);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|