Changeset dd1feda in rtems-libbsd


Ignore:
Timestamp:
Mar 30, 2015, 7:51:18 AM (5 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
4.11, c1e05b9ea378b2971e3d7704779112b4bc4296da, freebsd-9.3, 4a77611a223ea883fb548679b516d326a020d447
Children:
822aa5de
Parents:
1535c87
git-author:
Sebastian Huber <sebastian.huber@…> (03/30/15 07:51:18)
git-committer:
Sebastian Huber <sebastian.huber@…> (04/01/15 07:15:29)
Message:

if_dwc: Fix transmit starvation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • freebsd/sys/dev/dwc/if_dwc.c

    r1535c87 rdd1feda  
    322322        ifp = sc->ifp;
    323323
    324         if (ifp->if_drv_flags & IFF_DRV_OACTIVE) {
    325                 return;
    326         }
    327 
    328324        enqueued = 0;
    329325
     
    358354
    359355        DWC_LOCK(sc);
    360         dwc_txstart_locked(sc);
     356        if ((ifp->if_drv_flags & IFF_DRV_OACTIVE) == 0)
     357                dwc_txstart_locked(sc);
    361358        DWC_UNLOCK(sc);
    362359}
     
    825822        }
    826823
     824        sc->ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
     825        dwc_txstart_locked(sc);
     826
    827827        /* If there are no buffers outstanding, muzzle the watchdog. */
    828828        if (sc->tx_idx_tail == sc->tx_idx_head) {
Note: See TracChangeset for help on using the changeset viewer.