From be2e73dc9c330e398caa85d4b1415c773b121269 Mon Sep 17 00:00:00 2001 From: Christoph Hellwig Date: Thu, 19 Jul 2007 12:05:58 -0700 Subject: [PATCH] fix spufs build after ->fault changes 60a7fd6761c3b434d474342168c4812b5f97f44b 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: Christoph Hellwig Cc: Arnd Bergmann Acked-by: Geoff Levand Cc: Paul Mackerras Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- arch/powerpc/platforms/cell/spufs/fault.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/arch/powerpc/platforms/cell/spufs/fault.c b/arch/powerpc/platforms/cell/spufs/fault.c index 07f88de0544da..f53a07437472b 100644 --- a/arch/powerpc/platforms/cell/spufs/fault.c +++ b/arch/powerpc/platforms/cell/spufs/fault.c @@ -74,18 +74,18 @@ good_area: 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++; + else + ctx->stats.min_flt++; if (ctx->state == SPU_STATE_RUNNABLE) { - if (flt == VM_FAULT_MINOR) - ctx->spu->stats.min_flt++; - else + if (flt & VM_FAULT_MAJOR) ctx->spu->stats.maj_flt++; + else + ctx->spu->stats.min_flt++; } if (ctx->spu) -- 2.39.5