ppc_sys: do not BUG if system ID is unknown

Started by Marcelo Tosatti on Oct 26, 2005

Subsystems (1)

Maintainers (1)

DORMANTno replies

open the first message on its own page

Message details and related content
Vitaly,

Subject and diff says it all: currently ppc_sys BUGs on unknown system
ID, which is quite unfriendly.

The following is applied to the 8xx-fixes tree.

diff-tree a807b39b11a2fc311d3bbeff2b6f17c31636bb58 (from 94c84a4faa99c5f1ca93f0b9c5ad3df9d57409f8)
Author: Marcelo Tosatti [off-list ref]
Date:   Wed Oct 26 14:43:30 2005 -0500

    ppc32: Make ppc_sys friendly to unknown system ID's
diff --git a/arch/ppc/syslib/ppc_sys.c b/arch/ppc/syslib/ppc_sys.c
index 52ba0c6..26d7605 100644
--- a/arch/ppc/syslib/ppc_sys.c
+++ b/arch/ppc/syslib/ppc_sys.c
@@ -85,8 +85,11 @@ static int __init find_chip_by_name_and_
 void __init identify_ppc_sys_by_name_and_id(char *name, u32 id)
 {
 	int i = find_chip_by_name_and_id(name, id);
-	BUG_ON(i < 0);
-	cur_ppc_sys_spec = &ppc_sys_specs[i];
+	if (i < 0) {
+		printk(KERN_ERR "ppc_sys: Unable to identify PPC system!\n");
+		cur_ppc_sys_spec = NULL;
+	} else
+		cur_ppc_sys_spec = &ppc_sys_specs[i];
 }
 
 /* Update all memory resources by paddr, call before platform_device_register */
@@ -128,7 +131,8 @@ static int __init ppc_sys_init(void)
 {
 	unsigned int i, dev_id, ret = 0;
 
-	BUG_ON(cur_ppc_sys_spec == NULL);
+	if(cur_ppc_sys_spec == NULL)
+		return 1;
 
 	for (i = 0; i < cur_ppc_sys_spec->num_devices; i++) {
 		dev_id = cur_ppc_sys_spec->device_list[i];
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help