e85dde4087
This commit really is "fix the OFDM duration calculation to match reality when running in 802.11g mode." The AR5212 init vals set AR_MISC_MODE to 0x0 and all the bits that can be set are set through code. The AR5416 and later initvals set AR_MISC_MODE to various other values (with the AR5212 AR_MISC_MODE options cleared), which include AR_PCU_CCK_SIFS_MODE . This adds 6uS to SIFS on non-CCK frames when transmitting. This fixes the issue where _DATA_ 802.11g OFDM frames were being TX'ed with the ACK duration set to 38uS, not 44uS as on the AR5212 (and other devices.) The AR5212 TX pathway obeys the software-programmed duration field in the packet, but the 11n TX pathway overrides that with a hardware-calculated duration. This was getting it wrong because of the above AR_MISC_MODE setting. I've verified that 11g data OFDM frames are now being TXed with the correct ACK+SIFS duration programmed in. |
||
---|---|---|
.. | ||
ar2133.c | ||
ar5416_ani.c | ||
ar5416_attach.c | ||
ar5416_beacon.c | ||
ar5416_cal_adcdc.c | ||
ar5416_cal_adcgain.c | ||
ar5416_cal_iq.c | ||
ar5416_cal.c | ||
ar5416_cal.h | ||
ar5416_eeprom.c | ||
ar5416_gpio.c | ||
ar5416_interrupts.c | ||
ar5416_keycache.c | ||
ar5416_misc.c | ||
ar5416_phy.c | ||
ar5416_power.c | ||
ar5416_recv.c | ||
ar5416_reset.c | ||
ar5416_xmit.c | ||
ar5416.h | ||
ar5416.ini | ||
ar5416desc.h | ||
ar5416phy.h | ||
ar5416reg.h |