diff options
Diffstat (limited to 'arch/mips/kernel/vpe.c')
| -rw-r--r-- | arch/mips/kernel/vpe.c | 15 | 
1 files changed, 3 insertions, 12 deletions
diff --git a/arch/mips/kernel/vpe.c b/arch/mips/kernel/vpe.c index 32fc5d4a22e..b4c01522edd 100644 --- a/arch/mips/kernel/vpe.c +++ b/arch/mips/kernel/vpe.c @@ -697,18 +697,7 @@ static int vpe_run(struct vpe * v)  	dmt_flag = dmt();  	vpeflags = dvpe(); -	if (!list_empty(&v->tc)) { -		if ((t = list_entry(v->tc.next, struct tc, tc)) == NULL) { -			evpe(vpeflags); -			emt(dmt_flag); -			local_irq_restore(flags); - -			printk(KERN_WARNING -			       "VPE loader: TC %d is already in use.\n", -			       v->tc->index); -			return -ENOEXEC; -		} -	} else { +	if (list_empty(&v->tc)) {  		evpe(vpeflags);  		emt(dmt_flag);  		local_irq_restore(flags); @@ -720,6 +709,8 @@ static int vpe_run(struct vpe * v)  		return -ENOEXEC;  	} +	t = list_first_entry(&v->tc, struct tc, tc); +  	/* Put MVPE's into 'configuration state' */  	set_c0_mvpcontrol(MVPCONTROL_VPC);  |