When hardware queue is full, stop the linux device queue.
This fix a bug where CPU was 100% in softirq context
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3122 0192ed92-7a03-0410-a25b-9323aeb14dbd
* Use roundup() to calculate the next intval boundary for nexttbtt. This method is more simple to understand and computationally simpler.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3099 0192ed92-7a03-0410-a25b-9323aeb14dbd
* Use roundup() to calculate the next intval boundary for nexttbtt. This method is more simple to understand and computationally simpler.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3095 0192ed92-7a03-0410-a25b-9323aeb14dbd
from the madwifi-dfs branch (benoit) r3086
Added MAC_FMT & MAC_ADDR macros that can be used as a drop-in
replacement for ether_sprintf(). Fixed some use of ether_sprintf() that
uses the same static buffer twice.
- Without the functional changes.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3091 0192ed92-7a03-0410-a25b-9323aeb14dbd
It's called with NULL vap in several places, and the old
ath_beacon_config() had such protection. Without this check, the kernel
panics after association in managed mode.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3064 0192ed92-7a03-0410-a25b-9323aeb14dbd
IRQF_SHARED appeared in Linux 2.6.18. Define it in compat.h for older
kernels. Stop using obsolete SA_SHIRQ in if_ath_ahb.c and if_ath_pci.c
This fixes compilation of if_ath_ahb.c for Linux 2.6.22 and newer.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3041 0192ed92-7a03-0410-a25b-9323aeb14dbd
They are of no use, because they are not updated as the developmnet
continues. It's better to have a single version for MadWifi.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3039 0192ed92-7a03-0410-a25b-9323aeb14dbd
branch to trunk. especially notable is, that due to improved nexttbtt (next
"target beacon transmit time") calculation we will now get the correct backoff
behaviour for beacons, resulting in only one beacon per beacon interval (the
current head version will send N beacons for N stations in the beacon interval
because they are poorly synchronized). also because of the better timer
synchronization there is no more time lag of up to 1 minute until we see
beacons after a merge. thanks to benoit for figuring that out!
the difference between this patch and the version in the dfs-branch is that it
still uses self linked descriptors and uses the SWBA interrupt only for
updating the nexttbtt. this is necessary to recognize HW merges, for which we
don't get any notification by the hardware (see the thread "IBSS testing" on
this list for more details).
also i tried to clean up a bit, use a more descriptive function name for timer
updates (ath_beacon_update_timers instead of ath_beacon_config) and generally
better distingush between a HW merge and a SW merge.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3027 0192ed92-7a03-0410-a25b-9323aeb14dbd
i verified that 0 rates also create the same problem in G mode so i removed the reference to A bands.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3015 0192ed92-7a03-0410-a25b-9323aeb14dbd
* Remove comments that merely duplicate the code (i.e., they don't provide information on Why or explain the opaque)
* Rename some variable for consistency
* Line length -> 80 chars
* Reorder non-dependent code blocks in a function to make it more readable (at least to me)
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3003 0192ed92-7a03-0410-a25b-9323aeb14dbd
ARRAY_SIZE is present in all kernel versions we support. Use it instead
of other definitions. Define ARRAY_SIZE in the userspace tools as well.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@2988 0192ed92-7a03-0410-a25b-9323aeb14dbd
Split skb and node debug flags - one ending in _ref tracks minute changes to reference counts, while the non _ref flag trackes more coarse grained debug events.
Fix a node reference leak before skb_orphan detected by the debug destructor.
Fix debug flag display order for athdebug and 80211debug so that the shorter
name comes first and matches, otherwise only the _ref flags match.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@2964 0192ed92-7a03-0410-a25b-9323aeb14dbd
ath_key_alloc() was using pointer subtraction to determine the group key
index. This is not optimal, as it's done by dividing a pointer-sized
integer by a number that is generally not a power of two.
Since there are only 4 (IEEE80211_WEP_NKID) keys to try, it's easier to
try them all in a loop. It also makes the code more reliable, as it now
detects the cases when the key pointer is within the valid range, but
doesn't point to the beginning of an array element.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@2954 0192ed92-7a03-0410-a25b-9323aeb14dbd
Preprocessor flag now used to toggle printk output prior to blocking on
a spinlock.
There is of course a chance that the spinlock will be taken between the time we check it and print our little message, but this should still be of some assistance troubleshoot locking mistakes that come up in the future.
If you turn on the flag, you can find out what locks are being contended for and from which functions... i.e. ath_intr fights for a particular lock, etc.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@2944 0192ed92-7a03-0410-a25b-9323aeb14dbd