freebsd-dev/sys/dev/ath
Adrian Chadd dcfd99a788 When punting frames to the RX tap, free the mbufs since we've tampered with
their length.

Without this, an error frame mbuf would:

* have its size adjusted;
* thrown at the radiotap code;
* then since it's never consumed, the rxbuf/mbuf is then re-added to the
  RX descriptor list with the small size;
* .. and the hardware ends up (sometimes) only DMA'ing part of a frame into
  the small buffer, chaining RX frames together (setting the more flag).

I discovered this particular issue when doing some promiscuous radiotap
testing; I found that I'd occasionally get rs_more set in RX descriptors
w/ the first frame length being very small (sub-100 bytes.) The driver
handles 2-descriptor RX frames (but not more), so this still worked; it
was just odd.

This is suboptimal and may benefit from being replaced with caching
the m_pkthdr_len and m_len fields, then restoring them after completion.
2011-10-28 15:44:09 +00:00
..
ath_dfs/null - change "is is" to "is" or "it is" 2011-10-16 14:30:28 +00:00
ath_hal Add in some more 11n related HAL methods. 2011-10-25 23:33:54 +00:00
ath_rate Fix the order of parameters passed to the HT frame duration calculation. 2011-09-11 09:43:13 +00:00
ah_osdep.c Fix a corner case in the HAL debugging changes, where ah was NULL. 2011-09-30 05:17:57 +00:00
ah_osdep.h Fix AR5416 and later parts when building with AH_DEBUG or similar defined: 2009-07-06 20:51:54 +00:00
if_ath_ahb.c Fix ath_ahb(4) bus attach and eeprom error handling. 2011-06-13 04:31:57 +00:00
if_ath_debug.c Break out the debug macros from if_ath.c into if_ath_debug.[ch] . 2011-01-29 05:08:21 +00:00
if_ath_debug.h Break out the debug macros from if_ath.c into if_ath_debug.[ch] . 2011-01-29 05:08:21 +00:00
if_ath_keycache.c Break the keycache management functions out into if_ath_keycache.c . 2011-03-02 17:19:54 +00:00
if_ath_keycache.h Break the keycache management functions out into if_ath_keycache.c . 2011-03-02 17:19:54 +00:00
if_ath_misc.h Migrate the sysctl related routines (statistics, debugging, etc) out of 2011-03-02 16:03:19 +00:00
if_ath_pci.c Add in a currently-disabled WAR for PCI NICs. 2011-10-18 03:32:18 +00:00
if_ath_sysctl.c As a prelude to bringing over the 11n work, include some extra statistics fields. 2011-10-26 16:09:05 +00:00
if_ath_sysctl.h Break out most of the HAL related tweaks into a per-HAL instance, 2011-06-23 02:38:36 +00:00
if_ath_tx_ht.c Enable setting the short-GI bit when TX'ing HT rates but only if the 2011-05-30 15:06:57 +00:00
if_ath_tx_ht.h The current code used the fields in ath_set11nratescenario() . Use them 2011-02-12 02:14:19 +00:00
if_ath_tx.c Add in HT protection but disable it by default. 2011-03-28 11:48:49 +00:00
if_ath_tx.h Migrate the TX path code out of if_ath and into a separate source file. 2011-01-29 11:35:23 +00:00
if_ath.c When punting frames to the RX tap, free the mbufs since we've tampered with 2011-10-28 15:44:09 +00:00
if_athdfs.h Remove the now unneeded references to these DFS methods. 2011-08-09 15:46:52 +00:00
if_athioctl.h As a prelude to bringing over the 11n work, include some extra statistics fields. 2011-10-26 16:09:05 +00:00
if_athrate.h Add a new method to the rate control modules which extract out the 2011-02-01 08:10:18 +00:00
if_athvar.h Update the default AIFS value for hostap mode. 2011-09-28 02:54:42 +00:00