VirtualBox

Changeset 88498 in vbox for trunk/src/VBox/Devices/Network


Ignore:
Timestamp:
Apr 13, 2021 5:09:08 PM (4 years ago)
Author:
vboxsync
Message:

DevPCNet: Added comments, removed logic that caused transmit to hang when link was down (see bugref:1613).

File:
1 edited

Legend:

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

    r88490 r88498  
    25242524        TMD tmd;
    25252525        if (!pcnetTdtePoll(pDevIns, pThis, &tmd))
    2526             break;
    2527 
    2528         /* Don't continue sending packets when the link is down. */
    2529         if (RT_UNLIKELY(   !pcnetIsLinkUp(pThis)
    2530                         &&  pThis->cLinkDownReported > PCNET_MAX_LINKDOWN_REPORTED)
    2531             )
    25322526            break;
    25332527
     
    34183412                val &= ~0x40;
    34193413            }
     3414            /* AMD NDIS 5.0 driver programs BCR4 to indicate link state and polls
     3415             * the LED bit (bit 15) to determine current link status.
     3416             */
    34203417            val |= (val & 0x017f & pThis->u32Lnkst) ? 0x8000 : 0;
    34213418            break;
     
    40544051
    40554052    rc = VERR_GENERAL_FAILURE;
     4053
     4054    /* 10 Mbps models (up to and including Am79C970A) have no MII and no way to get
     4055     * an MII management auto-poll interrupt (MAPINT) indicating link state changes.
     4056     * In some cases we want to make sure the guest really noticed the link going down;
     4057     * the cLinkDownReported counter is incremented every time the guest did something
     4058     * that might have made it notice the link loss, and we only bring the link back
     4059     * up once we're reasonably certain the guest knows it was down.
     4060     */
    40564061    if (pThis->cLinkDownReported <= PCNET_MAX_LINKDOWN_REPORTED)
    40574062    {
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