diff --git a/pic.c b/pic.c index 1142ebf..a5fee49 100644 --- a/pic.c +++ b/pic.c @@ -49,7 +49,7 @@ void enableIrq(int irq) outb(PIC_MASTER_DATA, (status | (1 << irq))); } else { uint8_t status = inb(PIC_SLAVE_DATA); - outb(PIC_SLAVE_DATA, (status | (1 << irq))); + outb(PIC_SLAVE_DATA, (status | (1 << (irq - 8)))); } } @@ -60,6 +60,6 @@ void disableIrq(int irq) outb(PIC_MASTER_DATA, (status & ~(1 << irq))); } else { uint8_t status = inb(PIC_SLAVE_DATA); - outb(PIC_SLAVE_DATA, (status & ~(1 << irq))); + outb(PIC_SLAVE_DATA, (status & ~(1 << (irq - 8)))); } }