提交 8b34ff42 编写于 作者: P Prarit Bhargava 提交者: 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: NPrarit Bhargava <prarit@sgi.com>
Signed-off-by: NTony Luck <tony.luck@intel.com>
上级 0bdd340c
...@@ -623,6 +623,8 @@ void sn_bus_free_sysdata(void) ...@@ -623,6 +623,8 @@ void sn_bus_free_sysdata(void)
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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册