Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 3663
b: refs/heads/master
c: 02597d2
h: refs/heads/master
i:
  3661: c2a53a1
  3659: 82ecb2c
  3655: d92cba7
  3647: e2b820f
v: v3
  • Loading branch information
Alan Stern authored and Greg Kroah-Hartman committed Jun 27, 2005
1 parent 9311e11 commit 8080128
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c074b416b94c0aa4a371f24bf6cc13d8cf1fab59
refs/heads/master: 02597d2deec2a3de0e2b52c1f83904b65626a0d5
16 changes: 16 additions & 0 deletions trunk/drivers/usb/host/uhci-hcd.c
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@ static void reset_hc(struct uhci_hcd *uhci)

/*
* Last rites for a defunct/nonfunctional controller
* or one we don't want to use any more.
*/
static void hc_died(struct uhci_hcd *uhci)
{
Expand Down Expand Up @@ -525,6 +526,20 @@ static int uhci_reset(struct usb_hcd *hcd)
return 0;
}

/* Make sure the controller is quiescent and that we're not using it
* any more. This is mainly for the benefit of programs which, like kexec,
* expect the hardware to be idle: not doing DMA or generating IRQs.
*
* This routine may be called in a damaged or failing kernel. Hence we
* do not acquire the spinlock before shutting down the controller.
*/
static void uhci_shutdown(struct pci_dev *pdev)
{
struct usb_hcd *hcd = (struct usb_hcd *) pci_get_drvdata(pdev);

hc_died(hcd_to_uhci(hcd));
}

/*
* Allocate a frame list, and then setup the skeleton
*
Expand Down Expand Up @@ -939,6 +954,7 @@ static struct pci_driver uhci_pci_driver = {

.probe = usb_hcd_pci_probe,
.remove = usb_hcd_pci_remove,
.shutdown = uhci_shutdown,

#ifdef CONFIG_PM
.suspend = usb_hcd_pci_suspend,
Expand Down

0 comments on commit 8080128

Please sign in to comment.