VirtualBox

Changeset 30924 in vbox for trunk/src/VBox/HostDrivers


Ignore:
Timestamp:
Jul 20, 2010 9:22:05 AM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
63791
Message:

vboxnetflt: qdisc removal lockup fix (#4814)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c

    r30810 r30924  
    623623#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27) */
    624624    PVBOXNETQDISCPRIV pPriv;
    625     struct Qdisc *pQdisc;
     625    struct Qdisc *pQdisc, *pChild;
    626626    if (!pDev)
    627627        pDev = ASMAtomicUoReadPtrT(&pThis->u.s.pDev, struct net_device *);
     
    646646    Assert(pPriv->pVBoxNetFlt == pThis);
    647647    ASMAtomicWriteNullPtr(&pPriv->pVBoxNetFlt);
     648    pChild = ASMAtomicXchgPtrT(&pPriv->pChild, &noop_qdisc, struct Qdisc *);
     649    qdisc_destroy(pChild); /* It won't be the last reference. */
    648650
    649651    QDISC_LOG(("vboxNetFltLinuxQdiscRemove: refcnt=%d num_tx_queues=%d\n",
Note: See TracChangeset for help on using the changeset viewer.

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