Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 80422977 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Linus Torvalds
Browse files

fix spufs build after ->fault changes



83c54070 broke spufs by incorrectly
updating the code, this patch gets it to compile again.

It's probably still broken due to the scheduler changes, but this
at least makes sure cell kernels can still be built.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Cc: Arnd Bergmann <arnd@arndb.de>
Acked-by: default avatarGeoff Levand <geoffrey.levand@am.sony.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent efffbeee
Loading
Loading
Loading
Loading
+11 −11
Original line number Diff line number Diff line
@@ -74,18 +74,18 @@ static int spu_handle_mm_fault(struct mm_struct *mm, unsigned long ea,
			goto bad_area;
	}
	ret = 0;
	fault = handle_mm_fault(mm, vma, ea, is_write);
	if (unlikely(fault & VM_FAULT_ERROR)) {
		if (fault & VM_FAULT_OOM) {
	*flt = handle_mm_fault(mm, vma, ea, is_write);
	if (unlikely(*flt & VM_FAULT_ERROR)) {
		if (*flt & VM_FAULT_OOM) {
			ret = -ENOMEM;
			goto bad_area;
		} else if (fault & VM_FAULT_SIGBUS) {
		} else if (*flt & VM_FAULT_SIGBUS) {
			ret = -EFAULT;
			goto bad_area;
		}
		BUG();
	}
	if (fault & VM_FAULT_MAJOR)
	if (*flt & VM_FAULT_MAJOR)
		current->maj_flt++;
	else
		current->min_flt++;
@@ -210,15 +210,15 @@ int spufs_handle_class1(struct spu_context *ctx)
	 * In case of unhandled error report the problem to user space.
	 */
	if (!ret) {
		if (flt == VM_FAULT_MINOR)
			ctx->stats.min_flt++;
		else
		if (flt & VM_FAULT_MAJOR)
			ctx->stats.maj_flt++;
		if (ctx->state == SPU_STATE_RUNNABLE) {
			if (flt == VM_FAULT_MINOR)
				ctx->spu->stats.min_flt++;
		else
			ctx->stats.min_flt++;
		if (ctx->state == SPU_STATE_RUNNABLE) {
			if (flt & VM_FAULT_MAJOR)
				ctx->spu->stats.maj_flt++;
			else
				ctx->spu->stats.min_flt++;
		}

		if (ctx->spu)