diff options
author | Prarit Bhargava <prarit@sgi.com> | 2005-07-06 18:29:53 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2005-07-06 18:29:53 -0400 |
commit | 6f354b014b51716166f13f68b29212d3c44ed2c4 (patch) | |
tree | 396c09a5d519630a53652a1187bb85fceba82cee /arch/ia64/sn/kernel/irq.c | |
parent | 283c7f6ac6adb57e7dd13cdbc8d60b6ea4de6faf (diff) |
[IA64] hotplug/ia64: SN Hotplug Driver - SN Hotplug Driver code
This patch is the SGI hotplug driver and additional changes required for
the driver. These modifications include changes to the SN io_init.c code
for memory management, the inclusion of new SAL calls to enable and disable
PCI slots, and a hotplug-style driver.
Signed-off-by: Prarit Bhargava <prarit@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/sn/kernel/irq.c')
-rw-r--r-- | arch/ia64/sn/kernel/irq.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/ia64/sn/kernel/irq.c b/arch/ia64/sn/kernel/irq.c index cf4dbf9645f1..84d276a14ecb 100644 --- a/arch/ia64/sn/kernel/irq.c +++ b/arch/ia64/sn/kernel/irq.c | |||
@@ -284,7 +284,6 @@ void sn_irq_fixup(struct pci_dev *pci_dev, struct sn_irq_info *sn_irq_info) | |||
284 | int cpu = nasid_slice_to_cpuid(nasid, slice); | 284 | int cpu = nasid_slice_to_cpuid(nasid, slice); |
285 | 285 | ||
286 | pci_dev_get(pci_dev); | 286 | pci_dev_get(pci_dev); |
287 | |||
288 | sn_irq_info->irq_cpuid = cpu; | 287 | sn_irq_info->irq_cpuid = cpu; |
289 | sn_irq_info->irq_pciioinfo = SN_PCIDEV_INFO(pci_dev); | 288 | sn_irq_info->irq_pciioinfo = SN_PCIDEV_INFO(pci_dev); |
290 | 289 | ||
@@ -305,15 +304,16 @@ void sn_irq_unfixup(struct pci_dev *pci_dev) | |||
305 | return; | 304 | return; |
306 | 305 | ||
307 | sn_irq_info = SN_PCIDEV_INFO(pci_dev)->pdi_sn_irq_info; | 306 | sn_irq_info = SN_PCIDEV_INFO(pci_dev)->pdi_sn_irq_info; |
308 | if (!sn_irq_info || !sn_irq_info->irq_irq) | 307 | if (!sn_irq_info || !sn_irq_info->irq_irq) { |
308 | kfree(sn_irq_info); | ||
309 | return; | 309 | return; |
310 | } | ||
310 | 311 | ||
311 | unregister_intr_pda(sn_irq_info); | 312 | unregister_intr_pda(sn_irq_info); |
312 | spin_lock(&sn_irq_info_lock); | 313 | spin_lock(&sn_irq_info_lock); |
313 | list_del_rcu(&sn_irq_info->list); | 314 | list_del_rcu(&sn_irq_info->list); |
314 | spin_unlock(&sn_irq_info_lock); | 315 | spin_unlock(&sn_irq_info_lock); |
315 | call_rcu(&sn_irq_info->rcu, sn_irq_info_free); | 316 | call_rcu(&sn_irq_info->rcu, sn_irq_info_free); |
316 | |||
317 | pci_dev_put(pci_dev); | 317 | pci_dev_put(pci_dev); |
318 | } | 318 | } |
319 | 319 | ||