Ticket #705: ani_sensitivity_fix_v2.diff

File ani_sensitivity_fix_v2.diff, 2.2 kB (added by mlammertink@ti-wmc.nl, 4 years ago)

ANI sensitivity patch version 2

  • ath/if_athvar.h

    old new  
    10351035        ath_hal_getcapability(_ah, HAL_CAP_INTMIT, 1, _dst) 
    10361036#define ath_hal_setintmit(_ah, _v) \ 
    10371037        ath_hal_setcapability(ah, HAL_CAP_INTMIT, 1, _v, NULL) 
     1038#define ath_hal_setintmitofdmweaksignaldetection(_ah, _v) \ 
     1039        ath_hal_setcapability(ah, HAL_CAP_INTMIT, 3, _v, NULL) 
    10381040 
    10391041#endif /* _DEV_ATH_ATHVAR_H */ 
  • ath/if_ath.c

    old new  
    19931993         */ 
    19941994        ath_chan_change(sc, ic->ic_curchan); 
    19951995        ath_set_ack_bitrate(sc, sc->sc_ackrate); 
     1996         
     1997        /* Fix Interference Mitigation state when turned on. The HAL seems to 
     1998         * forget to initialise the OFDM weak signal detection parameter. 
     1999         */ 
     2000        if (sc->sc_hasintmit && sc->sc_useintmit) { 
     2001                DPRINTF(sc, ATH_DEBUG_RESET, 
     2002                        "%s: correcting interference mitigation (ANI)\n", __func__); 
     2003                ath_hal_setintmitofdmweaksignaldetection(ah, 1); 
     2004        } 
     2005 
    19962006        dev->flags |= IFF_RUNNING;              /* we are ready to go */ 
    19972007        ieee80211_start_running(ic);            /* start all VAPs */ 
    19982008#ifdef ATH_TX99_DIAG 
     
    22252235                ath_beacon_config(sc, NULL);    /* restart beacons */ 
    22262236        ath_hal_intrset(ah, sc->sc_imask); 
    22272237        ath_set_ack_bitrate(sc, sc->sc_ackrate); 
     2238 
     2239        /* Fix Interference Mitigation state when turned on. The HAL seems to 
     2240         * forget to initialise the OFDM weak signal detection parameter. 
     2241         */ 
     2242        if (sc->sc_hasintmit && sc->sc_useintmit) { 
     2243                DPRINTF(sc, ATH_DEBUG_RESET, 
     2244                        "%s: correcting interference mitigation (ANI)\n", __func__); 
     2245                ath_hal_setintmitofdmweaksignaldetection(ah, 1); 
     2246        } 
     2247 
    22282248        netif_wake_queue(dev);          /* restart xmit */ 
    22292249#ifdef ATH_SUPERG_XR 
    22302250        /* 
     
    79187938                if (sc->sc_beacons && tswitch)  
    79197939                        ath_beacon_config(sc, NULL);     
    79207940 
     7941                /* Fix Interference Mitigation state when turned on. The HAL seems to 
     7942                 * forget to initialise the OFDM weak signal detection parameter. 
     7943                 */ 
     7944                if (sc->sc_hasintmit && sc->sc_useintmit) { 
     7945                        DPRINTF(sc, ATH_DEBUG_RESET, 
     7946                                "%s: correcting interference mitigation (ANI)\n", __func__); 
     7947                        ath_hal_setintmitofdmweaksignaldetection(ah, 1); 
     7948                } 
     7949         
    79217950                /* 
    79227951                 * Re-enable interrupts. 
    79237952                 */