Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Apr 2006 20:08:16 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/dev/nve if_nve.c
Message-ID:  <200604282008.k3SK8Gqe045067@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
jhb         2006-04-28 20:08:16 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/nve          if_nve.c 
  Log:
  The nvidia binary blob sometimes defers tx completion notification to the
  OS dependent layer.  Thus, the watchdog timer can go off when the tx
  engine is working fine but the OS dependent layer just hasn't been called
  to cleanup finished tx transactions.  To workaround this, when the watchdog
  fires, poke the binary blob to force it to flush any pending tx
  completions.  If this drops the pending tx count to zero then just return
  without logging a message or resetting the chip.
  
  This reportedly fixes the 'device timeout()' errors with at least several
  NF4 nve(4) parts.
  
  Submitted by:   Nathan Alexander Whitehorn <nathanw@uchicago.edu> (code)
  Submitted by:   dg (inspiration for comment and explanation)
  MFC after:      1 week
  
  Revision  Changes    Path
  1.21      +19 -1     src/sys/dev/nve/if_nve.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200604282008.k3SK8Gqe045067>