DragonFly BSD
DragonFly commits List (threaded) for 2012-08
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: jme: Don't immediately recycle the TX descriptor even if it is owned by us.


From: Sepherosa Ziehau <sephe@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 19 Aug 2012 01:05:01 -0700 (PDT)

commit 6960d7d2cb2681b37c16366f3641e2b6a1ea5188
Author: Sepherosa Ziehau <sephe@dragonflybsd.org>
Date:   Sun Aug 19 15:56:21 2012 +0800

    jme: Don't immediately recycle the TX descriptor even if it is owned by us.
    
    This chip will always update the TX descriptor's 32bits fields in order,
    so even if the status field has been updated, i.e. OWN is cleared, it still
    does not mean that the buflen field has been updated.  To avoid this race
    we don't immediately recycle the currently checking TX descriptor.  Instead,
    next TX descriptor's OWN bit is checked, if it is cleared, then the updating
    of the currently checked TX descrptor is really done.
    
    This is intended to fix the seldom watchdog timeout that was observed on this
    chip.
    
    Thank devinchiu@jmicron.com very much for providing necessary information.

Summary of changes:
 sys/dev/netif/jme/if_jme.c    |   31 +++++++++++++++++++++++++++----
 sys/dev/netif/jme/if_jmevar.h |    1 +
 2 files changed, 28 insertions(+), 4 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/6960d7d2cb2681b37c16366f3641e2b6a1ea5188


-- 
DragonFly BSD source repository



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]