diff --git a/src/add-ons/kernel/drivers/network/marvell_yukon/dev/msk/glue.c b/src/add-ons/kernel/drivers/network/marvell_yukon/dev/msk/glue.c
index 997689e..8f8b529 100644
a
|
b
|
HAIKU_CHECK_DISABLE_INTERRUPTS(device_t dev)
|
55 | 55 | } |
56 | 56 | |
57 | 57 | |
58 | | NO_HAIKU_REENABLE_INTERRUPTS(); |
| 58 | void |
| 59 | __haiku_reenable_interrupts(device_t dev) |
| 60 | { |
| 61 | struct msk_softc *sc = device_get_softc(dev); |
| 62 | |
| 63 | CSR_WRITE_4(sc, B0_Y2_SP_ICR, 2); |
| 64 | } |
59 | 65 | |
60 | 66 | HAIKU_DRIVER_REQUIREMENTS(FBSD_TASKQUEUES | FBSD_FAST_TASKQUEUE | FBSD_SWI_TASKQUEUE); |
diff --git a/src/add-ons/kernel/drivers/network/marvell_yukon/dev/msk/if_msk.c b/src/add-ons/kernel/drivers/network/marvell_yukon/dev/msk/if_msk.c
index be4ac5d..3db927e 100644
a
|
b
|
msk_intr(void *xsc)
|
3610 | 3610 | sc = xsc; |
3611 | 3611 | MSK_LOCK(sc); |
3612 | 3612 | |
3613 | | /* Reading B0_Y2_SP_ISRC2 masks further interrupts. */ |
3614 | | status = CSR_READ_4(sc, B0_Y2_SP_ISRC2); |
3615 | | if (status == 0 || status == 0xffffffff || |
3616 | | (sc->msk_pflags & MSK_FLAG_SUSPEND) != 0 || |
3617 | | (status & sc->msk_intrmask) == 0) { |
3618 | | CSR_WRITE_4(sc, B0_Y2_SP_ICR, 2); |
3619 | | MSK_UNLOCK(sc); |
3620 | | return; |
3621 | | } |
3622 | | |
3623 | 3613 | sc_if0 = sc->msk_if[MSK_PORT_A]; |
3624 | 3614 | sc_if1 = sc->msk_if[MSK_PORT_B]; |
3625 | 3615 | ifp0 = ifp1 = NULL; |
… |
… |
msk_intr(void *xsc)
|
3655 | 3645 | if ((status & Y2_IS_STAT_BMU) != 0 && domore == 0) |
3656 | 3646 | CSR_WRITE_4(sc, STAT_CTRL, SC_STAT_CLR_IRQ); |
3657 | 3647 | |
3658 | | /* Reenable interrupts. */ |
3659 | | CSR_WRITE_4(sc, B0_Y2_SP_ICR, 2); |
3660 | | |
3661 | 3648 | if (ifp0 != NULL && (ifp0->if_drv_flags & IFF_DRV_RUNNING) != 0 && |
3662 | 3649 | !IFQ_DRV_IS_EMPTY(&ifp0->if_snd)) |
3663 | 3650 | msk_start_locked(ifp0); |