Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 235444
b: refs/heads/master
c: b320937
h: refs/heads/master
v: v3
  • Loading branch information
Sarah Sharp committed Mar 14, 2011
1 parent 8693f27 commit 80fa1a2
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 65b22f93fde320b34d43e4a3978e1b52b1bcc279
refs/heads/master: b320937972d456db2a46fdcbc6bebc4dcdc9daa4
3 changes: 2 additions & 1 deletion trunk/drivers/usb/host/xhci-pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,8 @@ static int xhci_pci_suspend(struct usb_hcd *hcd, bool do_wakeup)
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
int retval = 0;

if (hcd->state != HC_STATE_SUSPENDED)
if (hcd->state != HC_STATE_SUSPENDED ||
xhci->shared_hcd->state != HC_STATE_SUSPENDED)
return -EINVAL;

retval = xhci_suspend(xhci);
Expand Down
6 changes: 4 additions & 2 deletions trunk/drivers/usb/host/xhci-ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -2256,10 +2256,12 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd)
irqreturn_t xhci_msi_irq(int irq, struct usb_hcd *hcd)
{
irqreturn_t ret;
struct xhci_hcd *xhci;

xhci = hcd_to_xhci(hcd);
set_bit(HCD_FLAG_SAW_IRQ, &hcd->flags);
if (hcd->shared_hcd)
set_bit(HCD_FLAG_SAW_IRQ, &hcd->shared_hcd->flags);
if (xhci->shared_hcd)
set_bit(HCD_FLAG_SAW_IRQ, &xhci->shared_hcd->flags);

ret = xhci_irq(hcd);

Expand Down
8 changes: 7 additions & 1 deletion trunk/drivers/usb/host/xhci.c
Original file line number Diff line number Diff line change
Expand Up @@ -681,6 +681,7 @@ int xhci_suspend(struct xhci_hcd *xhci)

spin_lock_irq(&xhci->lock);
clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
clear_bit(HCD_FLAG_HW_ACCESSIBLE, &xhci->shared_hcd->flags);
/* step 1: stop endpoint */
/* skipped assuming that port suspend has done */

Expand Down Expand Up @@ -811,10 +812,14 @@ int xhci_resume(struct xhci_hcd *xhci, bool hibernated)

xhci_dbg(xhci, "Start the secondary HCD\n");
retval = xhci_run(secondary_hcd);
if (!retval)
if (!retval) {
set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
set_bit(HCD_FLAG_HW_ACCESSIBLE,
&xhci->shared_hcd->flags);
}
failed_restart:
hcd->state = HC_STATE_SUSPENDED;
xhci->shared_hcd->state = HC_STATE_SUSPENDED;
return retval;
}

Expand All @@ -835,6 +840,7 @@ int xhci_resume(struct xhci_hcd *xhci, bool hibernated)
*/

set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
set_bit(HCD_FLAG_HW_ACCESSIBLE, &xhci->shared_hcd->flags);

spin_unlock_irq(&xhci->lock);
return 0;
Expand Down

0 comments on commit 80fa1a2

Please sign in to comment.