Commit 8b34ff42 authored by Prarit Bhargava's avatar Prarit Bhargava Committed by Tony Luck

[IA64-SGI] Hotplug driver related fix in the SN ia64 code.

Remove an erroneous kfree, and unlink the pcidev_info struct from the
pcidev_info list prior to free'ing the pcidev_info struct.
Signed-off-by: default avatarPrarit Bhargava <prarit@sgi.com>
Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
parent 0bdd340c
...@@ -623,6 +623,8 @@ sn_sysdata_free_start: ...@@ -623,6 +623,8 @@ sn_sysdata_free_start:
list_for_each(list, &sn_sysdata_list) { list_for_each(list, &sn_sysdata_list) {
element = list_entry(list, struct sysdata_el, entry); element = list_entry(list, struct sysdata_el, entry);
list_del(&element->entry); list_del(&element->entry);
list_del(&(((struct pcidev_info *)
(element->sysdata))->pdi_list));
kfree(element->sysdata); kfree(element->sysdata);
kfree(element); kfree(element);
goto sn_sysdata_free_start; goto sn_sysdata_free_start;
......
...@@ -299,7 +299,9 @@ void sn_irq_unfixup(struct pci_dev *pci_dev) ...@@ -299,7 +299,9 @@ void sn_irq_unfixup(struct pci_dev *pci_dev)
return; return;
sn_irq_info = SN_PCIDEV_INFO(pci_dev)->pdi_sn_irq_info; sn_irq_info = SN_PCIDEV_INFO(pci_dev)->pdi_sn_irq_info;
if (!sn_irq_info || !sn_irq_info->irq_irq) { if (!sn_irq_info)
return;
if (!sn_irq_info->irq_irq) {
kfree(sn_irq_info); kfree(sn_irq_info);
return; return;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment