Ticket #8454: marvell_yukon.patch

File marvell_yukon.patch, 1.8 KB (added by bga, 12 years ago)
  • src/add-ons/kernel/drivers/network/marvell_yukon/dev/msk/glue.c

    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)  
    5555}
    5656
    5757
    58 NO_HAIKU_REENABLE_INTERRUPTS();
     58void
     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}
    5965
    6066HAIKU_DRIVER_REQUIREMENTS(FBSD_TASKQUEUES | FBSD_FAST_TASKQUEUE | FBSD_SWI_TASKQUEUE);
  • src/add-ons/kernel/drivers/network/marvell_yukon/dev/msk/if_msk.c

    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)  
    36103610    sc = xsc;
    36113611    MSK_LOCK(sc);
    36123612
    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 
    36233613    sc_if0 = sc->msk_if[MSK_PORT_A];
    36243614    sc_if1 = sc->msk_if[MSK_PORT_B];
    36253615    ifp0 = ifp1 = NULL;
    msk_intr(void *xsc)  
    36553645    if ((status & Y2_IS_STAT_BMU) != 0 && domore == 0)
    36563646        CSR_WRITE_4(sc, STAT_CTRL, SC_STAT_CLR_IRQ);
    36573647
    3658     /* Reenable interrupts. */
    3659     CSR_WRITE_4(sc, B0_Y2_SP_ICR, 2);
    3660 
    36613648    if (ifp0 != NULL && (ifp0->if_drv_flags & IFF_DRV_RUNNING) != 0 &&
    36623649        !IFQ_DRV_IS_EMPTY(&ifp0->if_snd))
    36633650        msk_start_locked(ifp0);