Browse Source

Master IRQ should be EOIed first, I think.

tags/v0.9.3
Michael Brown 17 years ago
parent
commit
4e14b020a5
1 changed files with 1 additions and 1 deletions
  1. 1
    1
      src/arch/i386/core/pic8259.c

+ 1
- 1
src/arch/i386/core/pic8259.c View File

46
  */
46
  */
47
 static inline void send_specific_eoi ( unsigned int irq ) {
47
 static inline void send_specific_eoi ( unsigned int irq ) {
48
 	DBG ( "Sending specific EOI for IRQ %d\n", irq );
48
 	DBG ( "Sending specific EOI for IRQ %d\n", irq );
49
-	outb ( ( ICR_EOI_SPECIFIC | ICR_VALUE ( irq ) ), ICR_REG ( irq ) );
50
 	if ( irq >= IRQ_PIC_CUTOFF ) {
49
 	if ( irq >= IRQ_PIC_CUTOFF ) {
51
 		outb ( ( ICR_EOI_SPECIFIC | ICR_VALUE ( CHAINED_IRQ ) ),
50
 		outb ( ( ICR_EOI_SPECIFIC | ICR_VALUE ( CHAINED_IRQ ) ),
52
 		       ICR_REG ( CHAINED_IRQ ) );
51
 		       ICR_REG ( CHAINED_IRQ ) );
53
 	}
52
 	}
53
+	outb ( ( ICR_EOI_SPECIFIC | ICR_VALUE ( irq ) ), ICR_REG ( irq ) );
54
 }
54
 }
55
 
55
 
56
 /**
56
 /**

Loading…
Cancel
Save