aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/ia64/sn/kernel/io_init.c2
-rw-r--r--arch/ia64/sn/kernel/irq.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/arch/ia64/sn/kernel/io_init.c b/arch/ia64/sn/kernel/io_init.c
index d7e4d79e16a8..2e4e56be8df5 100644
--- a/arch/ia64/sn/kernel/io_init.c
+++ b/arch/ia64/sn/kernel/io_init.c
@@ -623,6 +623,8 @@ sn_sysdata_free_start:
623 list_for_each(list, &sn_sysdata_list) { 623 list_for_each(list, &sn_sysdata_list) {
624 element = list_entry(list, struct sysdata_el, entry); 624 element = list_entry(list, struct sysdata_el, entry);
625 list_del(&element->entry); 625 list_del(&element->entry);
626 list_del(&(((struct pcidev_info *)
627 (element->sysdata))->pdi_list));
626 kfree(element->sysdata); 628 kfree(element->sysdata);
627 kfree(element); 629 kfree(element);
628 goto sn_sysdata_free_start; 630 goto sn_sysdata_free_start;
diff --git a/arch/ia64/sn/kernel/irq.c b/arch/ia64/sn/kernel/irq.c
index 74d87d903d5d..c373113d073a 100644
--- a/arch/ia64/sn/kernel/irq.c
+++ b/arch/ia64/sn/kernel/irq.c
@@ -299,7 +299,9 @@ void sn_irq_unfixup(struct pci_dev *pci_dev)
299 return; 299 return;
300 300
301 sn_irq_info = SN_PCIDEV_INFO(pci_dev)->pdi_sn_irq_info; 301 sn_irq_info = SN_PCIDEV_INFO(pci_dev)->pdi_sn_irq_info;
302 if (!sn_irq_info || !sn_irq_info->irq_irq) { 302 if (!sn_irq_info)
303 return;
304 if (!sn_irq_info->irq_irq) {
303 kfree(sn_irq_info); 305 kfree(sn_irq_info);
304 return; 306 return;
305 } 307 }