===== arch/ia64/sn/kernel/setup.c 1.46 vs edited ===== --- 1.46/arch/ia64/sn/kernel/setup.c 2005-01-11 15:48:43 -08:00 +++ edited/arch/ia64/sn/kernel/setup.c 2005-01-14 12:09:32 -08:00 @@ -170,7 +170,7 @@ struct ia64_sal_systab *sal_systab; struct ia64_sal_desc_entry_point *ep; char *p; - int i; + int i, j; /* * Parse enough of the SAL tables to locate the SAL entry point. Since, console @@ -186,19 +186,21 @@ 0) { sal_systab = __va(config_tables[i].table); p = (char *)(sal_systab + 1); - for (i = 0; i < sal_systab->entry_count; i++) { + for (j = 0; j < sal_systab->entry_count; j++) { if (*p == SAL_DESC_ENTRY_POINT) { ep = (struct ia64_sal_desc_entry_point *)p; ia64_sal_handler_init(__va (ep->sal_proc), __va(ep->gp)); - break; + return; } p += SAL_DESC_SIZE(*p); } } } + /* If we get here, we didn't find the SAL entry point, which is bad */ + printk(KERN_ERR "failed to find SAL entry point\n"); } extern int platform_intr_list[];