VirtualBox

Changeset 22555 in vbox


Ignore:
Timestamp:
Aug 28, 2009 4:14:04 PM (15 years ago)
Author:
vboxsync
Message:

E1000: delay the bringup of link for 5 sec after VM restore.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Network/DevE1000.cpp

    r22480 r22555  
    43064306            STATUS &= ~STATUS_LU;
    43074307            Phy::setLinkStatus(&pState->phy, false);
    4308             e1kRaiseInterrupt(pState, ICR_LSC);
     4308            e1kRaiseInterrupt(pState, VERR_SEM_BUSY, ICR_LSC);
    43094309            /* Restore the link back in 5 second. */
    43104310            e1kArmTimer(pState, pState->pLUTimer, 5000000);
     
    43154315            STATUS &= ~STATUS_LU;
    43164316            Phy::setLinkStatus(&pState->phy, false);
     4317            e1kRaiseInterrupt(pState, VERR_SEM_BUSY, ICR_LSC);
    43174318        }
    4318         e1kRaiseInterrupt(pState, VERR_SEM_BUSY, ICR_LSC);
    43194319        if (pState->pDrv)
    43204320            pState->pDrv->pfnNotifyLinkChanged(pState->pDrv, enmState);
     
    45154515 * @param   pSSMHandle  The handle to the saved state.
    45164516 */
    4517 #if 0
    45184517static DECLCALLBACK(int) e1kLoadDone(PPDMDEVINS pDevIns, PSSMHANDLE pSSMHandle)
    45194518{
     
    45324531        STATUS &= ~STATUS_LU;
    45334532        Phy::setLinkStatus(&pState->phy, false);
    4534         e1kRaiseInterrupt(pState, ICR_LSC);
     4533        e1kRaiseInterrupt(pState, VERR_SEM_BUSY, ICR_LSC);
    45354534        /* Restore the link back in half a second. */
    4536         e1kArmTimer(pState, pState->pLUTimer, 500000);
     4535        e1kArmTimer(pState, pState->pLUTimer, 5000000);
    45374536    }
    45384537    e1kMutexRelease(pState);
    45394538    return VINF_SUCCESS;
    45404539}
    4541 #endif
    45424540
    45434541/**
     
    47654763                                NULL, NULL, NULL,
    47664764                                e1kSavePrep, e1kSaveExec, NULL,
    4767                                 e1kLoadPrep, e1kLoadExec, NULL);
     4765                                e1kLoadPrep, e1kLoadExec, e1kLoadDone);
    47684766    if (RT_FAILURE(rc))
    47694767        return rc;
     
    51265124        STATUS &= ~STATUS_LU;
    51275125        Phy::setLinkStatus(&pState->phy, false);
    5128         e1kRaiseInterrupt(pState, ICR_LSC);
     5126        e1kRaiseInterrupt(pState, VERR_SEM_BUSY, ICR_LSC);
    51295127        /* Restore the link back in 5 second. */
    51305128        e1kArmTimer(pState, pState->pLUTimer, 5000000);
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette