Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 324348
b: refs/heads/master
c: bcdee04
h: refs/heads/master
v: v3
  • Loading branch information
Jiri Slaby authored and Greg Kroah-Hartman committed Sep 26, 2012
1 parent 0467d66 commit 7cf9ba0
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 3 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: 221b7b5796b520b51c34c40239d77921ba39225b
refs/heads/master: bcdee04ea7ae0406ae69094f6df1aacb66a69a0b
11 changes: 9 additions & 2 deletions trunk/drivers/misc/hpilo.c
Original file line number Diff line number Diff line change
Expand Up @@ -736,7 +736,14 @@ static void ilo_remove(struct pci_dev *pdev)
free_irq(pdev->irq, ilo_hw);
ilo_unmap_device(pdev, ilo_hw);
pci_release_regions(pdev);
pci_disable_device(pdev);
/*
* pci_disable_device(pdev) used to be here. But this PCI device has
* two functions with interrupt lines connected to a single pin. The
* other one is a USB host controller. So when we disable the PIN here
* e.g. by rmmod hpilo, the controller stops working. It is because
* the interrupt link is disabled in ACPI since it is not refcounted
* yet. See acpi_pci_link_free_irq called from acpi_pci_irq_disable.
*/
kfree(ilo_hw);
ilo_hwdev[(minor / max_ccb)] = 0;
}
Expand Down Expand Up @@ -826,7 +833,7 @@ static int __devinit ilo_probe(struct pci_dev *pdev,
free_regions:
pci_release_regions(pdev);
disable:
pci_disable_device(pdev);
/* pci_disable_device(pdev); see comment in ilo_remove */
free:
kfree(ilo_hw);
out:
Expand Down

0 comments on commit 7cf9ba0

Please sign in to comment.