This changeset adds a node statistic. If this is not liked, I encourage it to be fixed; I might learn something.
Thanks nbd.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3334 0192ed92-7a03-0410-a25b-9323aeb14dbd
So, ccmp_attach is called for each new key. Hence, only try to allocate a software context if IEEE80211_KEY_SWCRYPT is specified. Also, if we need a software context and fail, fail immediately; thus, the check in ccmp_setkey can be eleminated, as it is not actually a separate condition.
I think that when I touched this last, I was confused about the purpose of ccmp_attach.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3322 0192ed92-7a03-0410-a25b-9323aeb14dbd
With 0.9.30.13 ANI control appears to be broken. ANI is designed only for client (STA/AHDEMO) only mode. This function updates the data used for ANI, so we will only call it for client only mode. This may will not affect ANI problems in client only mode.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3321 0192ed92-7a03-0410-a25b-9323aeb14dbd
both i386 and x86_64. When calculating TARGET for x86 platform, use
CONFIG_X86 and CONFIG_X86_64 rather than ARCH.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3318 0192ed92-7a03-0410-a25b-9323aeb14dbd
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.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3314 0192ed92-7a03-0410-a25b-9323aeb14dbd
Section mismatch checker in the forthcoming Linux 2.6.25 complains about
ath_pci_drv_id and recommends to rename it. Rename ath_pci_drv_id to
ath_pci_driver, which is consistent with other PCI drivers.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3312 0192ed92-7a03-0410-a25b-9323aeb14dbd
* Based on patches from nbd
* av_beacon_alloc code has been reimplemented using atomic bit operations; I think this is safe for SMP
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3310 0192ed92-7a03-0410-a25b-9323aeb14dbd
dropped frames a little more consistent and
fixes an issue in hardstart where I was being
too aggressive about requeing.
I thought the slab allocator would stop handing
out skbuff instances before the system was out
of free memory based upon some kind of limit on
the number of buffers, but this was nonsense.
Therefore, it is NOT a good idea to requeue
when skb allocation fails because this pretty
much basically means we are out of free memory.
Keeping the packets we do not have the RAM to
send and then stopping the transmit queue has
very bad side effects under low/zero memory
conditions.
Symptoms may include OOM killer and panics,
among other things.
It's better to drop tx packets when there's no
more RAM than to lock all the tx packets up
in the transmit queue. Even if more skb
become freed up in the slab cache due to
transmissions already in progress, evil things
still happen.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3308 0192ed92-7a03-0410-a25b-9323aeb14dbd
messages from 1000 to 192 and drop the length
needed to display the [atomic] node count.
Slamming this much data on the stack can cause
stack overflows with 4k stacks quite easily,
especially when hard interrupts occur and
extend a stack that is already almost full.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3307 0192ed92-7a03-0410-a25b-9323aeb14dbd
count of the new bss node. The allocation
function gives us a reference. With this extra
reference, every invocation of reset_bss was
causing a leak of one node ~4kb every time the
interface was brought back up (or the BSS was reset
for other reasons).
This fixes ticket #1682. I can run ifconfig down/up
cycle for a long time. I'll run it overnight next
to be sure.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3301 0192ed92-7a03-0410-a25b-9323aeb14dbd
node in the node table. The node reference was
being taken in any path where the wds node was found
and not just when the wds node was first added.
This would have caused wds nodes to get inflated
reference counts, and be leaked on bss reset when
nodes were flushed from the node tables.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3300 0192ed92-7a03-0410-a25b-9323aeb14dbd
copy of the bss node is used to send a message
we need to make sure all code paths release
it when done. This bug combined with repeated
auth failures would cause node references to
grow with every failure. Then, if you were
taking down the interface and bringing it back
up you would leak one page (4kb) every time the
the node table was flushed on transition to UP.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3299 0192ed92-7a03-0410-a25b-9323aeb14dbd
This changes some iwpriv names, because I believe they will be more readily usable and understandable
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3279 0192ed92-7a03-0410-a25b-9323aeb14dbd
HAL_INT_RX, HAL_INT_RXPHY, or HAL_INT_SWBA. In
such cases, we will collect the earliest hw tsf
sample we can get and this is passed into send_beacon
and the trigger processing helper functions.
This cuts the number of hardware TSF reads by a
factor of three per interrupt. We should be reading
the hardware TSF now once on interrupt entry, and
once in the second part of trigger processing when
we correct for hardware TSF rollover.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3271 0192ed92-7a03-0410-a25b-9323aeb14dbd