]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.31/patches.arch/ppc-of-irq-map.patch
Move xen patchset to new version's subdir.
[people/teissler/ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.arch / ppc-of-irq-map.patch
diff --git a/src/patches/suse-2.6.27.31/patches.arch/ppc-of-irq-map.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-of-irq-map.patch
new file mode 100644 (file)
index 0000000..e7d1755
--- /dev/null
@@ -0,0 +1,30 @@
+Subject: fix IRQ assignment if interrupts property is missing
+From: Adhemerval Zanella Neto <azanella@br.ibm.com>
+References: 446610 - LTC50006
+
+This patch fix the IRQ assign.
+If the code can not get "interrupts" property from PCI OF node,
+it falls back to standard OF parsing. 
+
+Signed-off-by: Olaf Hering <olh@suse.de>
+
+---
+ arch/powerpc/kernel/prom_parse.c |    7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+--- a/arch/powerpc/kernel/prom_parse.c
++++ b/arch/powerpc/kernel/prom_parse.c
+@@ -250,8 +250,11 @@ int of_irq_map_pci(struct pci_dev *pdev,
+        * parsing
+        */
+       dn = pci_device_to_OF_node(pdev);
+-      if (dn)
+-              return of_irq_map_one(dn, 0, out_irq);
++      if (dn) {
++              rc = of_irq_map_one(dn, 0, out_irq);
++              if (!rc)
++                      return rc;
++      }
+       /* Ok, we don't, time to have fun. Let's start by building up an
+        * interrupt spec.  we assume #interrupt-cells is 1, which is standard