Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Jun 2006 09:05:20 +0000 (UTC)
From:      Pyun YongHyeon <yongari@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/dev/sk if_sk.c
Message-ID:  <200606070905.k5795Lvr005101@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
yongari     2006-06-07 09:05:20 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/sk           if_sk.c 
  Log:
  Fix watchdog timeout errors seen on a few systems.
  SK-NET GENESIS document says reading SK_ISSR should stop generating
  further interrupts(Since we drop a driver lock before invoking
  ifp->if_input handler we should disable interrupts in ISR in order
  to protect integrity of softc from subsequent interrupts). But it
  seems that there is possibility of loosing interrupts between
  reading SK_ISSR and determining which interrupts are reported.
  To cope with the situation we continuously read SK_ISSR register
  until there are no interrupts. However, it seems that the above
  work around doesn't fix all cases. To protect watchdog handler
  from triggering false alarm add a work around code which try to
  reclaim pending Tx descriptors before resetting hardware. This
  should fix occasional watchdog timeout errors seen on this driver.
  
  Reported by:    Frank Behrens <frank AT pinky dot sax dot de >
  Tested by:      Frank Behrens <frank AT pinky dot sax dot de >
  
  Revision  Changes    Path
  1.125     +13 -6     src/sys/dev/sk/if_sk.c



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