[PATCH] spufs: clear dsisr on CLASS1[Mf] exception
Because of always clearing DSISR at spu class 1 interrupt handler, kernel may lose Class1[Mf] interrupt. Signed-off-by: Masato Noguchi <Masato.Noguchi@jp.sony.com> Signed-off-by: Geoff Levand <geoff.levand@am.sony.com> Signed-off-by: Arnd Bergmann <arndb@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
Родитель
462c853eb5
Коммит
38307341af
|
@ -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);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче