浏览代码

powerpc: Fix oops on some machines due to incorrect pr_debug()

Recently, a patch left DEBUG enabled in the powerpc common PCI code,
resulting in an old bug in a pr_debug() statement to show up and cause
a NULL dereference on some machines.

This fixes the pr_debug() statement and reverts to DEBUG not being
force-enabled in that file.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Benjamin Herrenschmidt 16 年之前
父节点
当前提交
59b608c2c3
共有 1 个文件被更改,包括 2 次插入3 次删除
  1. 2 3
      arch/powerpc/kernel/pci-common.c

+ 2 - 3
arch/powerpc/kernel/pci-common.c

@@ -16,8 +16,6 @@
  * 2 of the License, or (at your option) any later version.
  * 2 of the License, or (at your option) any later version.
  */
  */
 
 
-#define DEBUG
-
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <linux/pci.h>
 #include <linux/pci.h>
 #include <linux/string.h>
 #include <linux/string.h>
@@ -258,7 +256,8 @@ int pci_read_irq_line(struct pci_dev *pci_dev)
 	} else {
 	} else {
 		pr_debug(" Got one, spec %d cells (0x%08x 0x%08x...) on %s\n",
 		pr_debug(" Got one, spec %d cells (0x%08x 0x%08x...) on %s\n",
 			 oirq.size, oirq.specifier[0], oirq.specifier[1],
 			 oirq.size, oirq.specifier[0], oirq.specifier[1],
-		    oirq.controller->full_name);
+			 oirq.controller ? oirq.controller->full_name :
+			 "<default>");
 
 
 		virq = irq_create_of_mapping(oirq.controller, oirq.specifier,
 		virq = irq_create_of_mapping(oirq.controller, oirq.specifier,
 					     oirq.size);
 					     oirq.size);