diff options
Diffstat (limited to 'sys/dev/ida/ida_pci.c')
-rw-r--r-- | sys/dev/ida/ida_pci.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/dev/ida/ida_pci.c b/sys/dev/ida/ida_pci.c index 19930b3..cf1f2d5 100644 --- a/sys/dev/ida/ida_pci.c +++ b/sys/dev/ida/ida_pci.c @@ -83,6 +83,10 @@ ida_v3_int_pending(struct ida_softc *ida) static void ida_v3_int_enable(struct ida_softc *ida, int enable) { + if (enable) + ida->flags |= IDA_INTERRUPTS; + else + ida->flags &= ~IDA_INTERRUPTS; ida_outl(ida, R_INT_MASK, enable ? INT_ENABLE : INT_DISABLE); } @@ -119,6 +123,10 @@ ida_v4_int_pending(struct ida_softc *ida) static void ida_v4_int_enable(struct ida_softc *ida, int enable) { + if (enable) + ida->flags |= IDA_INTERRUPTS; + else + ida->flags &= ~IDA_INTERRUPTS; ida_outl(ida, R_42XX_INT_MASK, enable ? INT_ENABLE_42XX : INT_DISABLE_42XX); } @@ -287,7 +295,7 @@ ida_pci_attach(device_t dev) return (error); } ida_attach(ida); - ida->flags |= IDA_ATTACHED; + ida->flags |= IDA_ATTACHED; return (0); } |