NEC VR5701 support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Source: MontaVista Software, Inc. Sergey Podstavin <spodstavin@xxxxxxxxxxxxx>
MR: 14908
Type: Defect Fix
Disposition: needs submitting to linuxmips-embedded mailing list
Signed-off-by: Sergey Podstavin <spodstavin@xxxxxxxxxxxxx>
Description:
    A large file transfers with errors via UART on 115200 fix

Index: linux-2.6.10/arch/mips/vr5701/vr5701_sg2/irq.c
===================================================================
--- linux-2.6.10.orig/arch/mips/vr5701/vr5701_sg2/irq.c
+++ linux-2.6.10/arch/mips/vr5701/vr5701_sg2/irq.c
@@ -79,18 +79,6 @@ asmlinkage void vr5701_sg2_irq_dispatch(
 	u32 bitmask;
 	u32 i;
 	u32 intPCIStatus;
-	if (ddb_in32(INT1_STAT) != 0) {
-		printk(KERN_CRIT "NMI  = %x\n", ddb_in32(NMI_STAT));
-		printk(KERN_CRIT "INT0 = %x\n", ddb_in32(INT0_STAT));
-		printk(KERN_CRIT "INT1 = %x\n", ddb_in32(INT1_STAT));
-		printk(KERN_CRIT "INT2 = %x\n", ddb_in32(INT2_STAT));
-		printk(KERN_CRIT "INT3 = %x\n", ddb_in32(INT3_STAT));
-		printk(KERN_CRIT "INT4 = %x\n", ddb_in32(INT4_STAT));
-		printk(KERN_CRIT "EPCI_ERR = %x\n", ddb_in32(EPCI_ERR));
-		printk(KERN_CRIT "IPCI_ERR = %x\n", ddb_in32(IPCI_ERR));
-
-		panic("error interrupt has happened.");
-	}
 
 	intStatus = ddb_in32(INT0_STAT);
 
@@ -100,7 +88,6 @@ asmlinkage void vr5701_sg2_irq_dispatch(
 	if (intStatus & 1 << 7)
 		goto IRQ_IPCI;
 
-      IRQ_OTHER:
 	for (i = 0, bitmask = 1; i <= NUM_5701_IRQS; bitmask <<= 1, i++) {
 		/* do we need to "and" with the int mask? */
 		if (intStatus & bitmask) {
@@ -117,26 +104,18 @@ asmlinkage void vr5701_sg2_irq_dispatch(
 			do_IRQ(8 + NUM_5701_IRQS + i, regs);
 		}
 	}
-	if (!intStatus)
-		return;
+	return;
 
       IRQ_IPCI:
 	intStatus &= ~(1 << 7);
 	intPCIStatus = ddb_in32(IPCI_INTS);
-	if (!intPCIStatus)
-		goto IRQ_OTHER;
-
 	for (i = 0, bitmask = 1; i < NUM_5701_IPCI_IRQS; bitmask <<= 1, i++) {
 		if (intPCIStatus & bitmask) {
 			do_IRQ(8 + NUM_5701_IRQS + NUM_5701_EPCI_IRQS + i,
 			       regs);
 		}
 	}
-
-	if (!intStatus)
-		return;
-
-	goto IRQ_OTHER;
+	return;
 }
 
 void __init arch_init_irq(void)

[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux