enter_prom(&args, RELOC(prom_entry)); 
if (enter_prom(&args, RELOC(prom_entry)) < 0) return PROM_ERROR; 
static int __init call_prom_ret(const char *service, int nargs, int nret,				prom_arg_t *rets, ...){	int i;	struct prom_args args;	va_list list;	args.service = ADDR(service);	args.nargs = nargs;	args.nret = nret;	va_start(list, rets);	for (i = 0; i < nargs; i++)		args.args[i] = va_arg(list, prom_arg_t);	va_end(list);	for (i = 0; i < nret; i++)		rets[nargs+i] = 0;	enter_prom(&args, RELOC(prom_entry));	if (rets != NULL)		for (i = 1; i < nret; ++i)			rets[i-1] = args.args[nargs+i];	return (nret > 0) ? args.args[nargs] : 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/c49888203d7a316cb947bb8a1cf2ae191f28bcd3/prom_init.c/buggy/arch/powerpc/kernel/prom_init.c