Show
Ignore:
Timestamp:
01/31/08 00:50:16 (4 years ago)
Author:
mtaylor
Message:

This patch adds iwpriv values for setting the
time in ms, or the number of beacons for the
beacon miss alarm. If we haven't had a beacon
in this period, the alarm is sounded and
action (i.e. roaming) is taken.

This patch changes the storage of the beacon
miss threshold to integral beacon count but
corrects the previous intent.

The default beacon miss alarm is going to be
850ms which is half way between the two hard
coded limits that were there before.

The old hard coded limits assumed that the
beacon interval was 100ms and set the limit to
10 (1000ms) for software beacon miss timer
and 7 for hardware beacon miss timer.

The new default is 850ms (the midpoint between
the two previous defaults). This value is rounded
up to the next nearest beacon interval.

There is no upper bound on the beacon miss
threshold specified, since it may need to be
wildly inflated with 25ms beacon interval, or
wildly reduced with 1000ms beacon interval.

The minimum is still 2 beacons, regardless of
the beacon interval.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • madwifi/trunk/ath/if_ath.c

    r3310 r3314  
    52415241#endif 
    52425242                /* 
    5243                  * Calculate the number of consecutive beacons to miss 
    5244                  * before taking a BMISS interrupt.  The configuration 
    5245                  * is specified in TU so we only need calculate based 
    5246                  * on the beacon interval.  Note that we clamp the 
    5247                  * result to at most 10 beacons. 
     5243                 * Store the number of consecutive beacons to miss 
     5244                 * before taking a BMISS interrupt. 
    52485245                 */ 
    5249                 bs.bs_bmissthreshold = howmany(ic->ic_bmisstimeout, intval); 
    5250                 if (bs.bs_bmissthreshold > 10) 
    5251                         bs.bs_bmissthreshold = 10; 
    5252                 else if (bs.bs_bmissthreshold < 2) 
    5253                         bs.bs_bmissthreshold = 2; 
     5246                bs.bs_bmissthreshold =  
     5247                        IEEE80211_BMISSTHRESH_SANITISE(ic->ic_bmissthreshold); 
    52545248 
    52555249                /*