08 Oct, 2010
4 commits
-
The recent scan overhaul broke locking
because now we can jump to code that
attempts to unlock, while we don't have
the mutex held. Fix this by holding the
mutex around all the relevant code.Reported-by: Ben Greear
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
In the NVS/INI-parameters for the driver/firmware there is the FEM
(front end module) selection option, which may configure the hardware FEM
via autodetection or manual selection. So far, there has been support for
manual selection only.Add support for FEM autodetection.
Signed-off-by: Juuso Oikarinen
Signed-off-by: John W. Linville -
…t/iwlwifi/iwlwifi-2.6
07 Oct, 2010
32 commits
-
This reverts commit 5ed3bc7288487bd4f891f420a07319e0b538b4fe.
It turns-out that not all drivers are calling ieee80211_tx_status from a
compatible context. Revert this for now and try again later...Signed-off-by: John W. Linville
-
This reverts commit 030725d2c7c1fafec7ede618647bf30ed79601f0.
This commit relies on commit 5ed3bc7288487bd4f891f420a07319e0b538b4fe
("mac80211: use netif_receive_skb in ieee80211_tx_status callpath")
Unfortunately not all drivers are calling ieee80211_tx_status from a
compatible context, so that commit needs to be reverted in 2.6.36.Signed-off-by: John W. Linville
-
Adding MODULE_FIRMWARE define for 130 series of devices
Signed-off-by: Wey-Yi Guy
-
130 series device should use firmware name with 130 in it.
Signed-off-by: Wey-Yi Guy
-
net/mac80211/scan.c: In function ‘ieee80211_scan_cancel’:
net/mac80211/scan.c:794: warning: ‘finish’ may be used uninitialized in this functionSigned-off-by: John W. Linville
-
When multiple interfaces are actively trying
to associate with the same BSS, they may both
find that the BSS isn't there and then try to
unlink it. This can cause errors since the
unlinking code can't currently deal with items
that have already been unlinked.Normally this doesn't happen as most people
don't try to use multiple station interfaces
that associate at the same time too.Fix this by using the list entry as a flag to
see if the item is still on a list.Cc: stable@kernel.org
Reported-by: Ben Greear
Tested-by: Hun-Kyi Wynn
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
This information is already available in mac80211, we just need to export it
via cfg80211 and nl80211.Signed-off-by: Bruno Randolf
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
This reverts commit 7acc7c683a747689aaaaad4fce1683fc3f85e552. It was
applied to avoid possible warning in ieee80211_restart_hw, however
reason of the warning were races in mac80211, currently hopefully fixed.Not reseting device when performing scan is bad for two reasons.
When forcing reset from iwl_check_stuck_queue(), in case of fail,
reset will be repeated until scan finish. But since firmware is in bad
shape, scan only finish after scan_check work (about 7s). So we will
delay the reset, what is not good behaviour.When forcing reset from iwl_recover_from_statistics(), we will not
repeat the reset, so we will not perform reset at all when needed.Signed-off-by: Stanislaw Gruszka
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
We nulify local->scan_req on failure in __ieee80211_start_scan, so
__ieee80211_scan_completed will not call cfg80211_scan_done. Fix that.Signed-off-by: Stanislaw Gruszka
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
When performing hw scan and not abort it, __ieee80211_scan_completed()
is currently called from scan work, so does not need to reschedule work
to call drv_hw_scan().Signed-off-by: Stanislaw Gruszka
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
This is partial revert and fix for commit
85f72bc839705294b32b6c16b491c0422f0a71b3 "mac80211: only cancel
software-based scans on suspend"When cfg80211 request the scan and mac80211 perform some management work,
we defer the scan request. We do not canceling such requests when calling
ieee80211_scan_cancel(), because of SCAN_SW_SCANNING bit check just
before the call. So fix that problem.Another problem, which commit 85f72bc839705294b32b6c16b491c0422f0a71b3
tries to solve, is we can not cancel HW scan. Hence patch make
ieee80211_scan_cancel() ignore HW scan (see code comments). Keeping
local->mtx lock assures that the deferred scan will not become
"working" HW scan.Signed-off-by: Stanislaw Gruszka
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
We are taking local->mtx inside __ieee80211_scan_completed(), but just
before call to that function we drop the lock. Dropping/taking lock is not
good, because can lead to hard to understand race conditions.Patch split scan_completed() code into two functions, first must be called
with local->mtx taken and second without it.Signed-off-by: Stanislaw Gruszka
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
Use goto instruction to call __ieee80211_scan_completed only ones in
ieee80211_scan_work. This is prepare for the next patch.Signed-off-by: Stanislaw Gruszka
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
It's already set in PHY common code.
Signed-off-by: Rafał Miłecki
Signed-off-by: John W. Linville -
Signed-off-by: Rafał Miłecki
Signed-off-by: John W. Linville -
Signed-off-by: Rafał Miłecki
Signed-off-by: John W. Linville -
Yikes! The error return keeps a netdev reference
and the rdev mutex locked, fix that!Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
This adds API to allow adding per-station GTKs,
updates mac80211 to support it, and also allows
drivers to remove a key from hwaccel again when
this may be necessary due to multiple GTKs.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
When roaming while we have active BA session,
we can end up transmitting delBA frames to
the old AP while we're already on the new AP's
channel, which can cause warnings.Simply avoid sending those frames, but still
tear down the internal session state, since
they are not really necessary anyway as we
will implicitly disassociate when sending the
association to the new AP.Signed-off-by: Johannes Berg
Acked-by: Luis R. Rodriguez
Signed-off-by: John W. Linville -
Signed-off-by: Senthil Balasubramanian
Signed-off-by: John W. Linville -
drv_config callback is called only after the ack for the nullframe
is received and so driver need not do anything special for this.So remove NULLFUNC_COMPLETED, PS_ENABLED flags and bf_isnullfunc
flags from ath9k as mac80211 already handles them properly.Signed-off-by: Senthil Balasubramanian
Signed-off-by: John W. Linville -
After the last rounds of cleanup, these functions are now functionally
equivalent and can thus be merged.
Also get rid of some excessive (and redundant) debug messages.Signed-off-by: Felix Fietkau
Signed-off-by: John W. Linville -
The code gets more concise and readable when making the new ANI functions
fall back to the old ones if ANI v2 is disabled. This also makes further code
cleanup easier.Signed-off-by: Felix Fietkau
Signed-off-by: John W. Linville -
Split out the PHY error counter update from ath9k_hw_ani_monitor_*, reuse
it in ath9k_hw_proc_mib_event (merged from ath9k_hw_proc_mib_event_old
and ath9k_hw_proc_mib_event_new).Signed-off-by: Felix Fietkau
Signed-off-by: John W. Linville -
ANI state is kept per channel, so instead of keeping an array of ANI states
with an arbitrary size of 255, move the ANI state into the channel struct.Move some config settings that are not per-channel out of
the per-channel struct to save some memory.With those changes, ath9k_ani_restart_old and ath9k_ani_restart_new can
be merged into a single function.Signed-off-by: Felix Fietkau
Signed-off-by: John W. Linville -
Signed-off-by: Felix Fietkau
Signed-off-by: John W. Linville -
Throughout the code, DISABLE_REGWRITE_BUFFER is always called right after
REGWRITE_BUFFER_FLUSH. Since that's unlikely to change any time soon, that
makes keeping those ops separate rather pointless, as it only increases
code size and line number counts.Signed-off-by: Felix Fietkau
Signed-off-by: John W. Linville -
The cycle counters are used by ANI to determine the amount of time that the
radio spent not receiving or transmitting. They're also used for debugging
purposes if the baseband watchdog on AR9003 detects a lockup.
In the future, we want to use these counters to determine the medium utilization
and export this information via survey. For that, we need to make sure that
the counter is only accessed from one place, which also ensures that
wraparounds won't occur at inconvenient points in time.Signed-off-by: Felix Fietkau
Signed-off-by: John W. Linville -
The calibration actual calibration flags are only used by the per chip family
source files, so it makes more sense to define them in those files instead
of globally. That way the code has to test for less flags.Also instead of using a separate callback for testing whether a particular
calibration type is supported, simply adjust ah->supp_cals in the calibration
init which is called right after the hardware reset, before any of the
calibrations are run.Signed-off-by: Felix Fietkau
Signed-off-by: John W. Linville -
We never delete the addBA response timer, which
is typically fine, but if the station it belongs
to is deleted very quickly after starting the BA
session, before the peer had a chance to reply,
the timer may fire after the station struct has
been freed already. Therefore, we need to delete
the timer in a suitable spot -- best when the
session is being stopped (which will happen even
then) in which case the delete will be a no-op
most of the time.I've reproduced the scenario and tested the fix.
This fixes the crash reported at
http://mid.gmane.org/4CAB6F96.6090701@candelatech.comCc: stable@kernel.org
Reported-by: Ben Greear
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
wireless-testing
commit 37e5bf6535a4d697fb9fa6f268a8354a612cbc00
Author: Luis R. Rodriguez
Date: Sat Jun 12 00:33:40 2010 -0400ath9k_hw: fix clock rate calculations for ANI
This commit accidentally broke clock rate calculation by doubling the
calculated clock rateSigned-off-by: Felix Fietkau
Signed-off-by: John W. Linville
06 Oct, 2010
4 commits
-
add new structures and defines need to identify 130 devices.
Signed-off-by: Wey-Yi Guy
-
iwl5000_tx_resp really should be iwlagn_tx_resp, rename it.
Signed-off-by: Wey-Yi Guy
-
some structure belong to _agn devices, not just 5000. Fix it.
Signed-off-by: Wey-Yi Guy
-
iwl5000_tx_power_dbm_cmd really should be iwlagn_tx_power_dbm_cmd,
so rename it.Signed-off-by: Wey-Yi Guy