summaryrefslogtreecommitdiffstats
path: root/drivers/char/ipmi
diff options
context:
space:
mode:
authorCorey Minyard2007-05-08 09:23:59 +0200
committerLinus Torvalds2007-05-08 20:14:58 +0200
commitfca3b747795ae24f9667b6c9a69975f9eb98a2c0 (patch)
tree932dede732c3fade670141425055cdc9793a9255 /drivers/char/ipmi
parentipmi: add new IPMI nmi watchdog handling (diff)
downloadkernel-qcow2-linux-fca3b747795ae24f9667b6c9a69975f9eb98a2c0.tar.gz
kernel-qcow2-linux-fca3b747795ae24f9667b6c9a69975f9eb98a2c0.tar.xz
kernel-qcow2-linux-fca3b747795ae24f9667b6c9a69975f9eb98a2c0.zip
ipmi: add pci remove handling
Add pci_remove handling to the driver, so it will clean up if the device is hot-removed. Signed-off-by: Corey Minyard <minyard@acm.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/char/ipmi')
-rw-r--r--drivers/char/ipmi/ipmi_si_intf.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
index a323cc7a0265..6c5d15de3317 100644
--- a/drivers/char/ipmi/ipmi_si_intf.c
+++ b/drivers/char/ipmi/ipmi_si_intf.c
@@ -2189,12 +2189,15 @@ static int __devinit ipmi_pci_probe(struct pci_dev *pdev,
info->irq_setup = std_irq_setup;
info->dev = &pdev->dev;
+ pci_set_drvdata(pdev, info);
return try_smi_init(info);
}
static void __devexit ipmi_pci_remove(struct pci_dev *pdev)
{
+ struct smi_info *info = pci_get_drvdata(pdev);
+ cleanup_one_si(info);
}
#ifdef CONFIG_PM