]> err.no Git - linux-2.6/blobdiff - arch/mips/kernel/smp-mt.c
[MIPS] MT: Initialise all writable bits in Cause register to zero.
[linux-2.6] / arch / mips / kernel / smp-mt.c
index 57770902b9aeaa15542281c98611cb0e439882ca..766253c44f3fd8d3dcae954755702e13bb78506a 100644 (file)
@@ -130,13 +130,13 @@ irqreturn_t ipi_call_interrupt(int irq, void *dev_id, struct pt_regs *regs)
 
 static struct irqaction irq_resched = {
        .handler        = ipi_resched_interrupt,
-       .flags          = SA_INTERRUPT,
+       .flags          = IRQF_DISABLED,
        .name           = "IPI_resched"
 };
 
 static struct irqaction irq_call = {
        .handler        = ipi_call_interrupt,
-       .flags          = SA_INTERRUPT,
+       .flags          = IRQF_DISABLED,
        .name           = "IPI_call"
 };
 
@@ -203,7 +203,7 @@ void plat_smp_setup(void)
                                write_vpe_c0_config( read_c0_config());
 
                                /* make sure there are no software interrupts pending */
-                               write_vpe_c0_cause(read_vpe_c0_cause() & ~(C_SW1|C_SW0));
+                               write_vpe_c0_cause(0);
 
                                /* Propagate Config7 */
                                write_vpe_c0_config7(read_c0_config7());