From 6f9e0b53e3da688b1385171f0b990ea9414dc345 Mon Sep 17 00:00:00 2001 From: Arnd Bergmann Date: Fri, 9 Dec 2005 19:04:18 +0100 Subject: [PATCH] --- yaml --- r: 17189 b: refs/heads/master c: 38307341af3a0be8ec5319756361b51ac29dffc7 h: refs/heads/master i: 17187: f8a514633cac984abb1c852abcc4ba3029ebd1a3 v: v3 --- [refs] | 2 +- trunk/arch/powerpc/platforms/cell/spu_base.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index e011e0cdea00..fbba055c210a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 462c853eb574bc7843d9c56e84aca129aaa8e018 +refs/heads/master: 38307341af3a0be8ec5319756361b51ac29dffc7 diff --git a/trunk/arch/powerpc/platforms/cell/spu_base.c b/trunk/arch/powerpc/platforms/cell/spu_base.c index f9da79eb3db0..3a5302151e09 100644 --- a/trunk/arch/powerpc/platforms/cell/spu_base.c +++ b/trunk/arch/powerpc/platforms/cell/spu_base.c @@ -240,7 +240,8 @@ spu_irq_class_1(int irq, void *data, struct pt_regs *regs) stat = in_be64(&spu->priv1->int_stat_class1_RW) & mask; dar = in_be64(&spu->priv1->mfc_dar_RW); dsisr = in_be64(&spu->priv1->mfc_dsisr_RW); - out_be64(&spu->priv1->mfc_dsisr_RW, 0UL); + if (stat & 2) /* mapping fault */ + out_be64(&spu->priv1->mfc_dsisr_RW, 0UL); out_be64(&spu->priv1->int_stat_class1_RW, stat); spin_unlock(&spu->register_lock);