patch-2.1.12 linux/arch/m68k/amiga/amiints.c

Next file: linux/arch/m68k/amiga/cia.c
Previous file: linux/arch/m68k/amiga/amifb.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.11/linux/arch/m68k/amiga/amiints.c linux/arch/m68k/amiga/amiints.c
@@ -209,7 +209,7 @@
 	}
 
 	/* enable the interrupt */
-	if (irq < IRQ_IDX(IRQ_AMIGA_PORTS)) 
+	if (irq < IRQ_IDX(IRQ_AMIGA_PORTS) && !ami_ablecount[irq])
 		custom.intena = IF_SETCLR | ami_intena_vals[irq];
 
 	return 0;
@@ -264,7 +264,7 @@
 		return;
 	}
 
-	if (ami_ablecount[irq]++)
+	if (--ami_ablecount[irq])
 		return;
 
 	if (irq >= IRQ_IDX(IRQ_AMIGA_CIAB)) {
@@ -290,7 +290,7 @@
 		return;
 	}
 
-	if (--ami_ablecount[irq])
+	if (ami_ablecount[irq]++)
 		return;
 
 	if (irq >= IRQ_IDX(IRQ_AMIGA_CIAB)) {

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov