bed90bf8ed
The NAV (network allocation vector) register reflects the current MAC tracking of NAV - when it will stay quiet before transmitting. Other devices transmit their frame durations in their 802.11 PHY headers and all devices that hear a frame - even if it's one in an encoding they don't understand - will understand the low bitrate PHY header that includes the frame duration. So, they'll set NAV to this value so they'll stay quiet until the transmit completes. Anyway, sometimes the PHY NAV header is garbled and sometimes, notably older broadcom devices, will fake a long NAV so they can get "cleaner" air for local calibration. When this happens, the hardware will stay quiet for quite some time and this can lead to missed/stuck beacons, or (for Very Large Values) a MAC hang. This code just adds the ability to get/set the NAV; the driver will need to take care of using it during transmit hangs and beacon misses to see if it's due to a trash looking NAV. |
||
---|---|---|
.. | ||
ar953x.ini | ||
ar955x.ini | ||
ar9300_aic.c | ||
ar9300_ani.c | ||
ar9300_aphrodite10.ini | ||
ar9300_attach.c | ||
ar9300_beacon.c | ||
ar9300_devid.h | ||
ar9300_eeprom.c | ||
ar9300_freebsd_inc.h | ||
ar9300_freebsd.c | ||
ar9300_freebsd.h | ||
ar9300_gpio.c | ||
ar9300_interrupts.c | ||
ar9300_jupiter10.ini | ||
ar9300_jupiter20.ini | ||
ar9300_keycache.c | ||
ar9300_mci.c | ||
ar9300_misc.c | ||
ar9300_osprey22_scoemu.ini | ||
ar9300_osprey22.ini | ||
ar9300_paprd.c | ||
ar9300_phy.c | ||
ar9300_power.c | ||
ar9300_radar.c | ||
ar9300_radio.c | ||
ar9300_raw_adc_capture.c | ||
ar9300_recv_ds.c | ||
ar9300_recv.c | ||
ar9300_reset.c | ||
ar9300_rtt.c | ||
ar9300_sim.c | ||
ar9300_sim.h | ||
ar9300_spectral.c | ||
ar9300_stub_funcs.c | ||
ar9300_stub_funcs.h | ||
ar9300_stub.c | ||
ar9300_stub.h | ||
ar9300_timer.c | ||
ar9300_tx99_tgt.c | ||
ar9300_txbf_cal.c | ||
ar9300_txbf.c | ||
ar9300_txbf.h | ||
ar9300_xmit_ds.c | ||
ar9300_xmit.c | ||
ar9300.h | ||
ar9300desc.h | ||
ar9300eep.h | ||
ar9300paprd.h | ||
ar9300phy.h | ||
ar9300radar.h | ||
ar9300reg.h | ||
ar9300template_ap121.h | ||
ar9300template_aphrodite.h | ||
ar9300template_cus157.h | ||
ar9300template_generic.h | ||
ar9300template_hb112.h | ||
ar9300template_hb116.h | ||
ar9300template_osprey_k31.h | ||
ar9300template_wasp_2.h | ||
ar9300template_wasp_k31.h | ||
ar9300template_xb112.h | ||
ar9300template_xb113.h | ||
ar9330_11.ini | ||
ar9330_12.ini | ||
ar9340.ini | ||
ar9462_2p0_initvals.h | ||
ar9462_2p1_initvals.h | ||
ar9485_1_1.ini | ||
ar9485.ini | ||
ar9580.ini | ||
eeprom.diff | ||
osprey_reg_map_macro.h | ||
osprey_reg_map.h | ||
poseidon_reg_map_macro.h | ||
scorpion_reg_map_macro.h | ||
scorpion_reg_map.h | ||
sources | ||
wasp_reg_map.h |