diff options
-rw-r--r-- | arch/powerpc/platforms/cell/spu_base.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/cell/spu_base.c b/arch/powerpc/platforms/cell/spu_base.c index f9da79eb3db0..3a5302151e09 100644 --- a/arch/powerpc/platforms/cell/spu_base.c +++ b/arch/powerpc/platforms/cell/spu_base.c | |||
@@ -240,7 +240,8 @@ spu_irq_class_1(int irq, void *data, struct pt_regs *regs) | |||
240 | stat = in_be64(&spu->priv1->int_stat_class1_RW) & mask; | 240 | stat = in_be64(&spu->priv1->int_stat_class1_RW) & mask; |
241 | dar = in_be64(&spu->priv1->mfc_dar_RW); | 241 | dar = in_be64(&spu->priv1->mfc_dar_RW); |
242 | dsisr = in_be64(&spu->priv1->mfc_dsisr_RW); | 242 | dsisr = in_be64(&spu->priv1->mfc_dsisr_RW); |
243 | out_be64(&spu->priv1->mfc_dsisr_RW, 0UL); | 243 | if (stat & 2) /* mapping fault */ |
244 | out_be64(&spu->priv1->mfc_dsisr_RW, 0UL); | ||
244 | out_be64(&spu->priv1->int_stat_class1_RW, stat); | 245 | out_be64(&spu->priv1->int_stat_class1_RW, stat); |
245 | spin_unlock(&spu->register_lock); | 246 | spin_unlock(&spu->register_lock); |
246 | 247 | ||