Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 31 Jul 2011 16:16:25 +0000 (UTC)
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/dev/ath if_ath.c
Message-ID:  <201107311616.p6VGGYeg082273@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
adrian      2011-07-31 16:16:25 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/ath          if_ath.c 
  Log:
  SVN rev 224550 on 2011-07-31 16:16:25Z by adrian
  
  Disable the RXORN/RXEOL interrupts if RXEOL occurs, preventing an
  interrupt storm.
  
  This is easily triggered by flipping on and off tcpdump -y IEEE802_11_RADIO
  w/ witness enabled. This causes a whole lot of console IO and when you're
  attached to a serial console (eg on my AR7161 embedded board), the RX
  interrupt doesn't get called quickly enough and the RX queue fills up.
  
  This wasn't a problem in the past because of the self-linked RX descriptor
  trick - the RX would never hit the "end" of the RX descriptor list.
  However this isn't possible for 802.11n (see previous commit history for
  why.)
  
  Both Linux ath9k and the Atheros reference driver code do this; I'm just
  looking now for where they then restart the PCU receive. Right now the RX
  will just stop until the interface is reset.
  
  Obtained from:  Linux, Atheros
  Approved by:    re (kib)
  
  Revision  Changes    Path
  1.333     +6 -0      src/sys/dev/ath/if_ath.c



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