|
@@ -590,7 +590,7 @@ ehci_hub_status_data (struct usb_hcd *hcd, char *buf)
|
|
|
u32 mask;
|
|
|
int ports, i, retval = 1;
|
|
|
unsigned long flags;
|
|
|
- u32 ppcd = 0;
|
|
|
+ u32 ppcd = ~0;
|
|
|
|
|
|
/* init status to no-changes */
|
|
|
buf [0] = 0;
|
|
@@ -628,9 +628,10 @@ ehci_hub_status_data (struct usb_hcd *hcd, char *buf)
|
|
|
|
|
|
for (i = 0; i < ports; i++) {
|
|
|
/* leverage per-port change bits feature */
|
|
|
- if (ehci->has_ppcd && !(ppcd & (1 << i)))
|
|
|
- continue;
|
|
|
- temp = ehci_readl(ehci, &ehci->regs->port_status [i]);
|
|
|
+ if (ppcd & (1 << i))
|
|
|
+ temp = ehci_readl(ehci, &ehci->regs->port_status[i]);
|
|
|
+ else
|
|
|
+ temp = 0;
|
|
|
|
|
|
/*
|
|
|
* Return status information even for ports with OWNER set.
|