Change IEEE80211_NODE_SAVEQ_DEQUEUE to a compound statement returning a
value, which may or may not be ignored by the caller.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@4137 0192ed92-7a03-0410-a25b-9323aeb14dbd
Use CONFIG_LOCALVERSION as an alternative to check that the
configuration settings have been included.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@4134 0192ed92-7a03-0410-a25b-9323aeb14dbd
Only call ath_hal_verify_default_intmit() if interference mitigation is
supported by the chipset.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@4124 0192ed92-7a03-0410-a25b-9323aeb14dbd
Use spin_lock_irqsave_nested() instead of spin_lock_irqsave(). Use a
separate counter for the locking subclass, so that we don't exceed the
maximal value of 8. We have 10 queues, but inactive queues don't get a
locking subclass number.
Provide a replacement for spin_lock_irqsave_nested() for kernels older
than 2.6.19.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3995 0192ed92-7a03-0410-a25b-9323aeb14dbd
Use netdev_priv() for Linux 2.4.27 and newer. Provide compatibility
wrapper for older kernels.
Imply CONFIG_KMOD for Linux 2.6.27 and newer.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3902 0192ed92-7a03-0410-a25b-9323aeb14dbd
due to unlucky timing of beacon timer configuration (which we try to avoid) and
due to unlucky timing of local TSF updates (triggered by the reception of a
beacon with the same BSSID - something we can't avoid) the beacon timers (we
have 4) can be updated seperately, leaving one of them in the past, not beeing
updated until the timers wrap around. due to the fact that the beacon interval
does not fit into the timer period (16 bit) a whole number of times the size of
the ATIM window can get bigger than desired (we don't use ATIM right now so the
window size should always be 1).
this results in a phaenome described as "ramping" (ticket #1154) which is
actually a transmission delay, since the hardware is not allowed to transmit
data in the ATIM period.
the problem is described and discussed in length at
http://thread.gmane.org/gmane.linux.drivers.madwifi.devel/6066
since we don't know of a way to disable ATIM alltogether, the following adds
some workarounds to this problem:
1.) disable interrupts in timing critical function ath_beacon_config
2.) stop beacons before reconfiguring them
3.) check ATIM window after critical code which might have changed the timers
3a.) beacon configuration
3b.) reception of a beacon with the same BSSID. the hardware will have updated
the local TSF and this might have left one of the beacon timers in the past.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3867 0192ed92-7a03-0410-a25b-9323aeb14dbd
Instead of simply alternating antenna, send multicast frames out each antenna
based on the proportion of sucessfully transmitted unicast frames. This helps
in situations where one antenna is significantly better than another.
Signed-off-by: Perry Lorier <perry@cs.waikato.ac.nz>
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3776 0192ed92-7a03-0410-a25b-9323aeb14dbd
This fixes a bug when renaming multiple wireless cards on slow devices.
The pci registration causes udev to rename the device but the sysctl is
not registered yet so the device renames but the corresponding sysctl
entries are not renamed.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3746 0192ed92-7a03-0410-a25b-9323aeb14dbd