firefly-linux-kernel-4.4.55.git
15 years agoath9k: Fix station access in aggregation completion
Sujith [Tue, 27 Jan 2009 08:00:37 +0000 (13:30 +0530)]
ath9k: Fix station access in aggregation completion

The ieee80211_sta pointer in the SKB's TX control info
area is not guaranteed to be valid after returning from the tx() callback.
Use ieee80211_find_sta() instead and return early if the station
is no longer present.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Reconfigure beacons on getting a notification from mac80211
Sujith [Tue, 27 Jan 2009 05:25:54 +0000 (10:55 +0530)]
ath9k: Reconfigure beacons on getting a notification from mac80211

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Handle chainmask for A9280
Sujith [Tue, 27 Jan 2009 05:25:31 +0000 (10:55 +0530)]
ath9k: Handle chainmask for A9280

The default chainmask for AR9280 is 3, so handle that when setting
the supported MCS rates. Also, check for the HW supported chainmask
when choosing single/dual stream.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: don't try to powersave/config disabled interfaces
Johannes Berg [Mon, 26 Jan 2009 18:11:57 +0000 (19:11 +0100)]
mac80211: don't try to powersave/config disabled interfaces

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: do not pass -EALREADY to userspace on regdomain change request
Luis R. Rodriguez [Mon, 26 Jan 2009 17:00:51 +0000 (09:00 -0800)]
cfg80211: do not pass -EALREADY to userspace on regdomain change request

If the regulatory domain is already set it is technically not an error
so do not pass an errno to userspace.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: remove useless ath9k driver version information
Luis R. Rodriguez [Mon, 26 Jan 2009 15:30:03 +0000 (07:30 -0800)]
ath9k: remove useless ath9k driver version information

Versioning for ath9k is pointless we have kept it at 0.1
since the initial release so its meaningless. We put more emphasis
on kernel release or dated wireless-testing master tag
as per John's tagging.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Fix AR9285 specific noise floor eeprom reads.
Senthil Balasubramanian [Mon, 26 Jan 2009 14:58:14 +0000 (20:28 +0530)]
ath9k: Fix AR9285 specific noise floor eeprom reads.

Fix AR9285 specific noise floor reads and initialize tx and rx
chainmask during reset. This along with the following earlier
patches of ath9k fixes an issue with association noticed in
noisy environment.

ath9k: Fix typo in chip version check
ath9k: Remove unnecessary gpio configuration in ath9k_hw_reset()
ath9k: Fix bug in NF calibration

Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: fix debug print on regd
Luis R. Rodriguez [Mon, 26 Jan 2009 14:48:10 +0000 (06:48 -0800)]
ath9k: fix debug print on regd

With debugging enabled and with ATH_DBG_REGULATORY
selected we wouldn't get the full print out of one line,
reason is we used "," instead of nothing to separate two
lines.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath5k: support LED's on emachines E510 notebook
Tulio Magno Quites Machado Filho [Sun, 25 Jan 2009 22:54:25 +0000 (23:54 +0100)]
ath5k: support LED's on emachines E510 notebook

Add vendor ID for AMBIT and use it to set the ath5k LED gpio.

base.c:
Changes-licensed-under: 3-Clause-BSD

Signed-off-by: Tulio Magno Quites Machado Filho <tuliom@gmail.com>
Acked-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Dynamically control log verbosity
Michael Buesch [Sun, 25 Jan 2009 14:49:59 +0000 (15:49 +0100)]
b43: Dynamically control log verbosity

Dynamically control the log verbosity with a module parameter.
This enables us to dynamically enable debugging messages (or disable
info, warn, error messages) via module parameter or /sys/module/b43/parameters/verbose.

This increases the module size by about 3k. But in practice it reduces the
module size for the user, because some distributions ship the b43 module
with CONFIG_B43_DEBUG set, which increases the module by about 15k.

So with this patch applied, distributions should really _disable_ CONFIG_B43_DEBUG.
There is no reason to keep it in a production-release kernel.
So we have a net reduction in size by about 12k.

This patch also adds a printk of the wireless core revision, so people
don't have to enable SSB debugging to get the wireless core revision.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Accessing the TSF via mac80211
Alina Friedrichsen [Sun, 25 Jan 2009 14:28:28 +0000 (15:28 +0100)]
b43: Accessing the TSF via mac80211

This allows the mac80211 high level code to access the TSF. This is e.g. needed for BSSID merges in the IBSS mode.

The second version adds locking and removes the now unnecessary debugfs entries.

Thanks to Michael Buesch! :)

Signed-off-by: Alina Friedrichsen <x-alina@gmx.net>
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: Generic TSF debugging
Alina Friedrichsen [Sat, 24 Jan 2009 06:09:59 +0000 (07:09 +0100)]
mac80211: Generic TSF debugging

This patch enables low-level driver independent debugging of the TSF and remove the driver specific things of ath5k and ath9k from the debugfs.

Signed-off-by: Alina Friedrichsen <x-alina@gmx.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: iwl_tx_queue_alloc : fix warning in printk formatting
Winkler, Tomas [Fri, 23 Jan 2009 21:45:23 +0000 (13:45 -0800)]
iwlwifi: iwl_tx_queue_alloc : fix warning in printk formatting

This patch fix compilation warning in printk formatting
iwl_tx_queue_alloc function.
Cleanup the code a bit on the way.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: add interface list lock
Johannes Berg [Fri, 23 Jan 2009 21:54:03 +0000 (22:54 +0100)]
mac80211: add interface list lock

Using only the RTNL has a number of problems, most notably that
ieee80211_iterate_active_interfaces() and other interface list
traversals cannot be done from the internal workqueue because it
needs to be flushed under the RTNL.

This patch introduces a new mutex that protects the interface list
against modifications. A more detailed explanation is part of the
code change.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoairo: remove useless #defines
Dan Williams [Sat, 24 Jan 2009 14:13:58 +0000 (09:13 -0500)]
airo: remove useless #defines

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoairo: clean up and clarify micinit()
Dan Williams [Sat, 24 Jan 2009 14:13:32 +0000 (09:13 -0500)]
airo: clean up and clarify micinit()

Fix some endian issues too.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoairo: use __attribute__ ((packed)) not #pragma
Dan Williams [Sat, 24 Jan 2009 14:12:58 +0000 (09:12 -0500)]
airo: use __attribute__ ((packed)) not #pragma

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Fix phy_g.c compiler warning
Michael Buesch [Sat, 24 Jan 2009 21:36:57 +0000 (22:36 +0100)]
b43: Fix phy_g.c compiler warning

Fix compile warning for non-debug builds:

drivers/net/wireless/b43/phy_g.c: In function ‘b43_gphy_op_recalc_txpower’:
drivers/net/wireless/b43/phy_g.c:3195: warning: unused variable ‘dbm’

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: flush workqueue a second time in suspend()
Bob Copeland [Sat, 24 Jan 2009 18:21:14 +0000 (13:21 -0500)]
mac80211: flush workqueue a second time in suspend()

Drivers can theoretically queue more work in one of their callbacks
from mac80211 suspend, so let's flush it once more to be on the safe
side, just before calling ->stop().

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: change workqueue back to non-freezeable
Bob Copeland [Sat, 24 Jan 2009 04:09:35 +0000 (23:09 -0500)]
mac80211: change workqueue back to non-freezeable

"mac80211: make workqueue freezable" made the mac80211
workqueue freezeable to prevent us from doing any work after the
driver went away.  This was fine before mac80211 had any suspend
support.

However, now we want to flush this workqueue in suspend().  Because
the thread for a freezeable workqueue is stopped before the device
class suspend() is called, flush_workqueue() will hang in the
suspend-to-disk case.

Converting it back to a non-freezeable queue will keep suspend from
hanging.  Moreover, since we flush the workqueue under RTNL and
userspace is stopped, there won't be any new work in the workqueue
until after resume.  Thus we still don't have to worry about pinging
the AP without hardware.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: Fixed BSSID handling revisited
Alina Friedrichsen [Sat, 24 Jan 2009 00:19:04 +0000 (01:19 +0100)]
mac80211: Fixed BSSID handling revisited

This patch cleanup the fixed BSSID handling, that
ieee80211_sta_set_bssid() works like ieee80211_sta_set_ssid(). So
that the BSSID is only a second selection criterion besides the
SSID. This allows us to create new IBSS networks with fixed BSSIDs,
which was broken before.

In the second version of this patch the handling of the stupid merges
to the same BSSID is moved out to get reworked into an other patch.

And this version hopefully solves the problems with some low-level
drivers and re-adds the config BSSID warning to help debugging the
low-level drivers.

Much thanks to all who have helped testing! :)

Signed-off-by: Alina Friedrichsen <x-alina@gmx.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoairo: clean up WEP key operations
Dan Williams [Sat, 24 Jan 2009 14:12:15 +0000 (09:12 -0500)]
airo: clean up WEP key operations

get_wep_key() and set_wep_key() combind both get/set of the actual WEP
key and get/set of the transmit index into the same functions.  Split those
out so it's clearer what is going one where.  Add error checking to WEP
key hardware operations too.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoairo: simplify WEP index and capability checks
Dan Williams [Sat, 24 Jan 2009 14:11:35 +0000 (09:11 -0500)]
airo: simplify WEP index and capability checks

Do the computation once at init time; don't ask the hardware
every time.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoairo: re-arrange WPA capability checks
Dan Williams [Sat, 24 Jan 2009 14:10:42 +0000 (09:10 -0500)]
airo: re-arrange WPA capability checks

The capability register has to be read for other (upcoming) stuff, so fold
the WPA test function back into _init_airo_card() and move the netdevice
registration stuff above it so that the netdevice has a name by the time
the card's capabilities are printed out.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoairo: clean up and clarify interrupt-time task handling
Dan Williams [Sat, 24 Jan 2009 14:04:12 +0000 (09:04 -0500)]
airo: clean up and clarify interrupt-time task handling

Split each specific interrupt-time task out into its own function to
make airo_interrupt() actually readable.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: fix probe mask for 39 scan API
Winkler, Tomas [Fri, 23 Jan 2009 21:45:21 +0000 (13:45 -0800)]
iwlwifi: fix probe mask for 39 scan API

This pach make use of 39 own scan probe mask
the variables or of different types

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: Remaining host command cleanups
Samuel Ortiz [Fri, 23 Jan 2009 21:45:20 +0000 (13:45 -0800)]
iwl3945: Remaining host command cleanups

With the recent host command routines merge, we can now look at the various
host command helpers and get rid of the duplicated ones.

Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: Add restart_fw module parameter
Samuel Ortiz [Fri, 23 Jan 2009 21:45:19 +0000 (13:45 -0800)]
iwl3945: Add restart_fw module parameter

In order to be in sync with the agn code, we're ading a fw_restart3945 module
parameter to iwl3945.

Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: Getting rid of priv->antenna
Samuel Ortiz [Fri, 23 Jan 2009 21:45:18 +0000 (13:45 -0800)]
iwl3945: Getting rid of priv->antenna

The iwl_priv antenna field is useless as we can simply use the corresponding
mod_params antenna field.

Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: Remove IWL3945_DEBUG
Samuel Ortiz [Fri, 23 Jan 2009 21:45:17 +0000 (13:45 -0800)]
iwlwifi: Remove IWL3945_DEBUG

IWL3945_DEBUG is pointless and obsolete. We already have an IWLWIFI_DEBUG
symbol, that needs to be set if we actually want to get 3945 debug (see
iwl-debug.h).
Thus, we can simply get rid of this symbol.

Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: Use the iwlcore geos routines
Samuel Ortiz [Fri, 23 Jan 2009 21:45:16 +0000 (13:45 -0800)]
iwl3945: Use the iwlcore geos routines

By removing the init_rates() routine outside of the init_geos() one, we can
share the geos routines between 3945 and agn.

Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: Use iwl-eeprom.c routines
Samuel Ortiz [Fri, 23 Jan 2009 21:45:15 +0000 (13:45 -0800)]
iwl3945: Use iwl-eeprom.c routines

By adding the eeprom ops to the 3945 code, we can now use the iwlcore eeprom
routines (defined in iwl-eeprom.c).
We also removed the heavy eeprom39 reference from iwl_priv and use the eeprom
pointer instead.

Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: Use iwlcore TX queue management routines
Samuel Ortiz [Fri, 23 Jan 2009 21:45:14 +0000 (13:45 -0800)]
iwl3945: Use iwlcore TX queue management routines

By adding an additional hw_params (tfd_size) and a new iwl_lib ops (txq_init),
we can now use the iwlcore TX queue management routines.
We had to add a new hw_params because we need to allocate the right DMA buffer
for TFDs, and those have a different sizes depending if you're on 3945 or agn.

Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: make iwl_tx_queue->tfds void*
Samuel Ortiz [Fri, 23 Jan 2009 21:45:13 +0000 (13:45 -0800)]
iwlwifi: make iwl_tx_queue->tfds void*

Instead of having both tfds and tfds39, we can just have a void *tfds.
It makes the tx_queue structure nicer, and the code cleaner. It also helps
with further TX queues management code merging.

Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: Use iwlcore scan code
Samuel Ortiz [Fri, 23 Jan 2009 21:45:12 +0000 (13:45 -0800)]
iwl3945: Use iwlcore scan code

A lot of the scanning related code is duplicated between 3945 and agn. Let's
use the iwlcore one and get rid of the 3945.

Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: Define send_tx_power
Samuel Ortiz [Fri, 23 Jan 2009 21:45:11 +0000 (13:45 -0800)]
iwl3945: Define send_tx_power

We can define this iwl_lib ops for 3945, as this would help us cleaning the
scanning code.

Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlagn: reduce off channel reception for 4965
Rick Farrington [Fri, 23 Jan 2009 21:45:10 +0000 (13:45 -0800)]
iwlagn: reduce off channel reception for 4965

Force use of chains B and C (0x6) for Rx for 4965
Avoid A (0x1) because of its off-channel reception on A-band.

Signed-off-by: Rick Farrington <rickdic@hotmail.com>
Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: add test to determine if interface in monitor mode
Chatre, Reinette [Fri, 23 Jan 2009 21:45:09 +0000 (13:45 -0800)]
iwlwifi: add test to determine if interface in monitor mode

mac80211 sets driver in monitor mode through configuring the
RX filters. We cannot trust priv->iw_mode to be accurate
regarding monitor mode as iw_mode is only set in add_interface,
which is not called by mac80211 when in monitor mode.

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Automatically probe for opensource firmware
Michael Buesch [Fri, 23 Jan 2009 20:21:51 +0000 (21:21 +0100)]
b43: Automatically probe for opensource firmware

First probe for proprietary firmware and then probe for opensource firmware.
This way around it's a win-win situation.
1) If proprietary fw is available, it will work.
2) If opensource firmware is available, but no proprietary (Distros can only ship open fw)
   it might work.
3) If both open and proprietary are available, it will work, because it selects
   the proprietary. We currently don't prefer the open fw in this case, because it doesn't
   work on all devices. It would introduce a regression otherwise.

The remaining FIXMEs in this patch are harmless, because they only matter on multiband
devices, which are not implemented yet anyway.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agortl8187: Fix driver to return TX retry info for RTL8187L
Larry Finger [Fri, 23 Jan 2009 17:40:22 +0000 (11:40 -0600)]
rtl8187: Fix driver to return TX retry info for RTL8187L

Current code for the RTL8187 is not returning valid retry information, thus the
rate-setting mechanism is not functioning. As a further complication, this info
is only obtained by reading a register, which cannot be read while in interrupt
context.

This patch implements the TX status return to mac80211 through the use of a
work queue.

One additional problem is that the driver currently enables the rate fallback
mechanism of the device, which conflicts with the mac80211 rate-setting
algorithm. This version of the patch disables rate fallback.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Tested-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Tested-by: Martín Ernesto Barreyro <barreyromartin@gmail.com>
Acked-by: Hin-Tak Leung <htl10@users.sourceforge.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agortl8187: Increase receive queue depth
Larry Finger [Fri, 23 Jan 2009 17:30:54 +0000 (11:30 -0600)]
rtl8187: Increase receive queue depth

The receive queue depth in rtl8187 may not be long enough to keep
the pipe full.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agortl8187: Fix locking of private data
Larry Finger [Fri, 23 Jan 2009 17:30:11 +0000 (11:30 -0600)]
rtl8187: Fix locking of private data

In rtl8187_add_interface(), the mutex that protects the data in struct
rtl8187_priv does not include all references to that structure.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agolibertas: fix CF firmware loading for some cards
Dan Williams [Fri, 23 Jan 2009 16:55:33 +0000 (11:55 -0500)]
libertas: fix CF firmware loading for some cards

if_cs_poll_while_fw_download() returned the number of iterations
remaining on success, which in turn got returned as the value from
if_cs_prog_real() and if_cs_prog_helper().  But since if_cs_probe()
interprets non-zero return values from firmware load functions as an
error, this sometimes caused spurious firmware load failures.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Tested-by: Ryan Mallon <ryan@bluewatersys.com>
Acked-by: Ryan Mallon <ryan@bluewatersys.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agort2x00: Simplify suspend/resume handling
Ivo van Doorn [Fri, 23 Jan 2009 16:04:05 +0000 (17:04 +0100)]
rt2x00: Simplify suspend/resume handling

With mac80211 handling all open interfaces during
suspend and resume we can simplify suspend/resume
within rt2x00lib.

The only thing rt2x00 needs to do is free up memory
during suspend and bring back the minimal required
components during resume.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agort2x00: Restrict firmware file lengths
Ivo van Doorn [Fri, 23 Jan 2009 16:03:24 +0000 (17:03 +0100)]
rt2x00: Restrict firmware file lengths

Add extra security to the drivers for firmware loading,
check the firmware file length before uploading it to
the hardware. Incorrect lengths might indicate a firmware
upgrade (which is not yet supported by the driver) or
otherwise incorrect firmware.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agort2x00: rt2x00_rev() should return u32
Ivo van Doorn [Fri, 23 Jan 2009 16:03:06 +0000 (17:03 +0100)]
rt2x00: rt2x00_rev() should return u32

The "rev" field in chipset definition is an u32,
which means that rt2x00_rev() which returns that field
should be of the same type.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Clean up the way the eeprom antenna configuration is read
Vasanthakumar Thiagarajan [Fri, 23 Jan 2009 09:10:37 +0000 (14:40 +0530)]
ath9k: Clean up the way the eeprom antenna configuration is read

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Remove unused ath9k_hw_select_antconfig() from hw.c
Vasanthakumar Thiagarajan [Fri, 23 Jan 2009 09:10:36 +0000 (14:40 +0530)]
ath9k: Remove unused ath9k_hw_select_antconfig() from hw.c

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Fix bug in NF calibration
Sujith [Fri, 23 Jan 2009 05:50:55 +0000 (11:20 +0530)]
ath9k: Fix bug in NF calibration

The number of chainmasks for AR9285 weren't being
setup when running NF calibration.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Fix bug in rate control capability registration
Sujith [Fri, 23 Jan 2009 05:50:51 +0000 (11:20 +0530)]
ath9k: Fix bug in rate control capability registration

Dual stream capability must be registered only when the
hardware supports it.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Fix MCS rates registration bug for AR9285
Sujith [Fri, 23 Jan 2009 05:50:44 +0000 (11:20 +0530)]
ath9k: Fix MCS rates registration bug for AR9285

AR9285 based devices support only single stream MCS rates.
This patch fixes a bug where dual stream stream rates were
also being registered.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Read and write the TSF via debugfs
Alina Friedrichsen [Fri, 23 Jan 2009 04:44:21 +0000 (05:44 +0100)]
ath9k: Read and write the TSF via debugfs

This patch adds an ath9k specific entry to read, write and reset the TSF into the debugfs, like in ath5k. This makes debugging the IBSS handling of wifi drivers _much_ easier.

Signed-off-by: Alina Friedrichsen <x-alina@gmx.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath5k: Read and write the TSF via debugfs
Alina Friedrichsen [Fri, 23 Jan 2009 04:39:13 +0000 (05:39 +0100)]
ath5k: Read and write the TSF via debugfs

This patch updates the ath5k specific entry in the debugfs to read and reset the TSF value, to allowing write it, too. This makes debugging the IBSS handling of wifi drivers _much_ easier.

Signed-off-by: Alina Friedrichsen <x-alina@gmx.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: Read the TSF via debugfs
Alina Friedrichsen [Fri, 23 Jan 2009 04:33:37 +0000 (05:33 +0100)]
mac80211: Read the TSF via debugfs

This patch adds an low-level driver independent entry to read the TSF value into the debugfs of mac80211. This makes debugging the IBSS handling of wifi drivers easier.

Signed-off-by: Alina Friedrichsen <x-alina@gmx.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: simplify regulatory code
Luis R. Rodriguez [Thu, 22 Jan 2009 23:16:48 +0000 (15:16 -0800)]
ath9k: simplify regulatory code

Now that cfg80211 has its own regulatory infrastructure we can
condense ath9k's regulatory code considerably. We only keep data
we need to provide our own regulatory_hint(), reg_notifier() and
information necessary for calibration.

Atheros hardware supports 12 world regulatory domains, since these
are custom we apply them through the the new wiphy_apply_custom_regulatory().
Although we have 12 we can consolidate these into 5 structures based on
frequency and apply a different set of flags that differentiate them on
a case by case basis through the reg_notifier().

If CRDA is not found our own custom world regulatory domain is applied,
this is identical to cfg80211's except we enable passive scan on most
frequencies.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: allow users to help a driver's compliance
Luis R. Rodriguez [Thu, 22 Jan 2009 23:05:54 +0000 (15:05 -0800)]
cfg80211: allow users to help a driver's compliance

Let users be more compliant if so desired.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: allow mac80211 drivers to get to struct ieee80211_hw from wiphy
Luis R. Rodriguez [Thu, 22 Jan 2009 23:05:53 +0000 (15:05 -0800)]
mac80211: allow mac80211 drivers to get to struct ieee80211_hw from wiphy

If a driver is given a wiphy and it wants to get to its private
mac80211 driver area it can use wiphy_to_ieee80211_hw() to get first
to its ieee80211_hw and then access the private structure via hw->priv. The
wiphy_priv() is already being used internally by mac80211 and drivers
should not use this. This can be helpful in a drivers reg_notifier().

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: Allow for strict regulatory settings
Luis R. Rodriguez [Thu, 22 Jan 2009 23:05:52 +0000 (15:05 -0800)]
cfg80211: Allow for strict regulatory settings

This allows drivers to request strict regulatory settings to
be applied to its devices. This is desirable for devices where
proper calibration and compliance can only be gauranteed for
for the device's programmed regulatory domain. Regulatory
domain settings will be ignored until the device's own
regulatory domain is properly configured. If no regulatory
domain is received only the world regulatory domain will be
applied -- if OLD_REG (default to "US") is not enabled. If
OLD_REG behaviour is not acceptable to drivers they must
update their wiphy with a custom reuglatory prior to wiphy
registration.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: pass more detailed regulatory request information on reg_notifier()
Luis R. Rodriguez [Thu, 22 Jan 2009 23:05:51 +0000 (15:05 -0800)]
cfg80211: pass more detailed regulatory request information on reg_notifier()

Drivers may need more information than just who set the last regulatory domain,
as such lets just pass the last regulatory_request receipt. To do this we need
to move out to headers struct regulatory_request, and enum environment_cap. While
at it lets add documentation for enum environment_cap.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: move check for ignore_reg_update() on wiphy_update_regulatory()
Luis R. Rodriguez [Thu, 22 Jan 2009 23:05:50 +0000 (15:05 -0800)]
cfg80211: move check for ignore_reg_update() on wiphy_update_regulatory()

This ensures that the initial REGDOM_SET_BY_CORE upon wiphy registration
respects the wiphy->custom_regulatory setting. Without this and if OLD_REG
is disabled (which will be default soon as we remove it) the
wiphy->custom_regulatory is simply ignored.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: rename fw_handles_regulatory to custom_regulatory
Luis R. Rodriguez [Thu, 22 Jan 2009 23:05:49 +0000 (15:05 -0800)]
cfg80211: rename fw_handles_regulatory to custom_regulatory

Drivers without firmware can also have custom regulatory maps
which do not map to a specific ISO / IEC alpha2 country code.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: ignore consecutive equal regulatory hints
Luis R. Rodriguez [Thu, 22 Jan 2009 23:05:48 +0000 (15:05 -0800)]
cfg80211: ignore consecutive equal regulatory hints

We ignore regulatory hints for the same alpha2 if we already
have processed the same alpha2 on the current regulatory domain.
For a driver regulatory_hint() this means we copy onto its
wiphy->regd the previously procesed regulatory domain from CRDA
without having to call CRDA again.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: process user requests only after previous user/driver/core requests
Luis R. Rodriguez [Thu, 22 Jan 2009 23:05:47 +0000 (15:05 -0800)]
cfg80211: process user requests only after previous user/driver/core requests

This prevents user regulatory changes to be considered prior to previous
pending user, core or driver requests which have not be applied.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: export freq_reg_info()
Luis R. Rodriguez [Thu, 22 Jan 2009 23:05:45 +0000 (15:05 -0800)]
cfg80211: export freq_reg_info()

This can be used by drivers on the reg_notifier()

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: add wiphy_apply_custom_regulatory()
Luis R. Rodriguez [Thu, 22 Jan 2009 23:05:44 +0000 (15:05 -0800)]
cfg80211: add wiphy_apply_custom_regulatory()

This adds wiphy_apply_custom_regulatory() to be used by drivers
prior to wiphy registration to apply a custom regulatory domain.
This can be used by drivers that do not have a direct 1-1 mapping
between a regulatory domain and a country.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: Add capability to enable/disable beaconing
Johannes Berg [Thu, 22 Jan 2009 17:07:31 +0000 (18:07 +0100)]
mac80211: Add capability to enable/disable beaconing

This patch adds a flag to notify drivers to start and stop
beaconing when needed, for example, during a scan run. Based
on Sujith's first patch to do the same, but now disables
beaconing for all virtual interfaces while scanning, has a
separate change flag and tracks user-space requests.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath5k: honor the RTS/CTS bits
Bob Copeland [Thu, 22 Jan 2009 13:44:21 +0000 (08:44 -0500)]
ath5k: honor the RTS/CTS bits

The ath5k driver didn't use set_rts_threshold or use_cts_prot, and also
didn't check the IEEE80211_TX_RC_USE_{RTS_CTS,CTS_PROTECT} RC flags.
Tell the hardware about these so RTS/CTS will work, and so the device
will work better in mixed b/g environments.

Changes-licensed-under: 3-Clause-BSD

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Acked-by: Nick Kossifidis <mickflemm@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath5k: use short preamble when possible
Bob Copeland [Thu, 22 Jan 2009 13:44:20 +0000 (08:44 -0500)]
ath5k: use short preamble when possible

ath5k previously ignored TX_RC_SHORT_PREAMBLE and did not use
config->use_short_preamble, so the long preamble was always
used for transmitted packets.

Changes-licensed-under: 3-Clause-BSD

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath5k: remove unused led_off parameter
Bob Copeland [Thu, 22 Jan 2009 13:44:19 +0000 (08:44 -0500)]
ath5k: remove unused led_off parameter

ath5k_softc->led_off hasn't been used since commit
3a078876caee9634dbb9b41e6269262e30e8b535, "convert LED code to use
mac80211 triggers."

Changes-licensed-under: 3-Clause-BSD

Reported-by: Tobias Doerffel <tobias.doerffel@gmail.com>
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Acked-by: Nick Kossifidis <mickflemm@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: Add documentation bits for mac80211_rate_control_flags
Sujith [Thu, 22 Jan 2009 03:30:52 +0000 (09:00 +0530)]
mac80211: Add documentation bits for mac80211_rate_control_flags

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoorinoco: trivial cleanup in alloc_orinocodev
Andrey Borzenkov [Wed, 21 Jan 2009 18:55:29 +0000 (21:55 +0300)]
orinoco: trivial cleanup in alloc_orinocodev

Remove extra space; remove redundant cast

Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru>
Acked-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoorinoco: convert to struct net_device_ops
Andrey Borzenkov [Wed, 21 Jan 2009 17:46:46 +0000 (20:46 +0300)]
orinoco: convert to struct net_device_ops

No functional changes; use new kernel interface for netdev methods.

Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru>
Acked-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agowireless: restrict to 32 legacy rates
Johannes Berg [Wed, 21 Jan 2009 14:13:48 +0000 (15:13 +0100)]
wireless: restrict to 32 legacy rates

Since the standards only define 12 legacy rates, 32 is certainly
a sane upper limit and we don't need to use u64 everywhere. Add
sanity checking that no more than 32 rates are registered and
change the variables to u32 throughout.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Remove unnecessary gpio configuration in ath9k_hw_reset()
Vasanthakumar Thiagarajan [Wed, 21 Jan 2009 13:54:13 +0000 (19:24 +0530)]
ath9k: Remove unnecessary gpio configuration in ath9k_hw_reset()

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Fix typo in chip version check
Vasanthakumar Thiagarajan [Wed, 21 Jan 2009 11:48:48 +0000 (17:18 +0530)]
ath9k: Fix typo in chip version check

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: constify ieee80211_if_conf.bssid
Johannes Berg [Wed, 21 Jan 2009 11:47:05 +0000 (12:47 +0100)]
mac80211: constify ieee80211_if_conf.bssid

Then one place can be a static const.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: fix deep sleep when removing the driver.
Abbas, Mohamed [Wed, 21 Jan 2009 05:33:55 +0000 (21:33 -0800)]
iwl3945: fix deep sleep when removing the driver.

A warning message "MAC is in deep sleep" sometimes happen when user removes
the driver.  This warning is related to card not being ready. In __iwl3945_down
function some of the going down steps are in wrong order, to fix this this patch
do the following:
1- make sure we are calling iwl3945_apm_reset and iwl3945_apm_stop
   in the right order.

2- make sure we set CSR_GP_CNTRL_REG_FLAG_INIT_DONE in apm_reset before
   poll on CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY.

3- set correct polling counter.

This fixes bug
http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1834

Signed-off-by: mohamed abbas <mohamed.abbas@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: Use iwl-rfkill
Samuel Ortiz [Wed, 21 Jan 2009 17:27:54 +0000 (18:27 +0100)]
iwl3945: Use iwl-rfkill

Here again, the rfkill routines are duplicated between agn and 3945. Let's
move the agn one to iwlcore, and so we can get rid of the 3945 ones.

Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlagn: fix agn rate scaling
Abbas, Mohamed [Wed, 21 Jan 2009 05:33:53 +0000 (21:33 -0800)]
iwlagn: fix agn rate scaling

Sometime Tx reply rate different than what rate scale expecting
causing rate scale to bail out. This could cause failing to
commit LQ cmd. This patch will try to solve this instead of just
bail out. It also make sure we start with a valid rate.

Signed-off-by: mohamed abbas <mohamed.abbas@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: allow user to set max rate
Abbas, Mohamed [Wed, 21 Jan 2009 05:33:52 +0000 (21:33 -0800)]
iwlwifi: allow user to set max rate

allow user to set max rate through #iwconfig <inteface> rate XXX.
mac80211 will try to force this if user set it, but driver is not
in sync which cause mac80211 to report wrong current rate. This
patch will check if max rate is set and force it in rate scaling

Signed-off-by: mohamed abbas <mohamed.abbas@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Enable dynamic power save in ath9k.
Vivek Natarajan [Tue, 20 Jan 2009 05:47:08 +0000 (11:17 +0530)]
ath9k: Enable dynamic power save in ath9k.

This patch implements dynamic power save feature for ath9k.

Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: add recognition of Intel WiFi Link 100 Series
Jay Sternberg [Mon, 19 Jan 2009 23:30:35 +0000 (15:30 -0800)]
iwlwifi: add recognition of Intel WiFi Link 100 Series

add configuration for new Intel WiFi Link 100 series as part of the
iwlagn driver under the umbrella of 5000 family of devices.

Signed-off-by: Jay Sternberg <jay.e.sternberg@linux.intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: add recognition of Intel WiFi Link 6000 and 6050 Series
Jay Sternberg [Mon, 19 Jan 2009 23:30:34 +0000 (15:30 -0800)]
iwlwifi: add recognition of Intel WiFi Link 6000 and 6050 Series

add configuration for new Intel WiFi Link Series as part of the iwlagn
driver under the umbrella of 5000 family of devices.

Signed-off-by: Jay Sternberg <jay.e.sternberg@linux.intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: remove static from 5000 structures
Jay Sternberg [Mon, 19 Jan 2009 23:30:33 +0000 (15:30 -0800)]
iwlwifi: remove static from 5000 structures

remove static from config structures which will be used by new
hardware that is similar to 5000.  This way the new devices
can use them without the new structures having to be stored in the
already overloaded iwl-5000.c file.

Signed-off-by: Jay Sternberg <jay.e.sternberg@linux.intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: correct Kconfig to prevent following entries from not indenting
Jay Sternberg [Mon, 19 Jan 2009 23:30:31 +0000 (15:30 -0800)]
iwlwifi: correct Kconfig to prevent following entries from not indenting

    defining configurations that are not visible caused the following
    entries to not be indented. changing the tree structure to name the
    top level selection and have all others reference IWLWIFI directly
    corrects this issue.

Signed-off-by: Jay Sternberg <jay.e.sternberg@linux.intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: eliminate power_data_39.
Winkler, Tomas [Mon, 19 Jan 2009 23:30:30 +0000 (15:30 -0800)]
iwlwifi: eliminate power_data_39.

This patch eliminates 3945 power_data structure and make use of
of iwl_power_data.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Acked-by: Mohamed Abbas <mohamed.abbas@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: remove unused or twice defined members in iwl_priv
Winkler, Tomas [Mon, 19 Jan 2009 23:30:29 +0000 (15:30 -0800)]
iwlwifi: remove unused or twice defined members in iwl_priv

This patch removes user_txpower_limit and max_channel_txpower_limit
and use tx_power_user_lmt and tx_power_channel_lmt instead
call_post_assoc_from_beacon is not used

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: kill scan39
Winkler, Tomas [Mon, 19 Jan 2009 23:30:28 +0000 (15:30 -0800)]
iwlwifi: kill scan39

scan and scan39 can be represented by void * in iwl_priv

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Acked-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: Use iwl-hcmd host command routines
Samuel Ortiz [Mon, 19 Jan 2009 23:30:27 +0000 (15:30 -0800)]
iwl3945: Use iwl-hcmd host command routines

With the previously added tfd related ops, we can now use the iwl-tx.c host
command enqueue routine. Since the 3945 host command specific
routines are identical to the agn ones, we can just remove them from the 3945
code.

Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: Add TFD library operations
Samuel Ortiz [Mon, 19 Jan 2009 23:30:26 +0000 (15:30 -0800)]
iwlwifi: Add TFD library operations

The TFD structures for 3945 and agn HWs are fundamentally different. We thus
need to define operations for attaching and freeing them. This will allow us
to share a fair amount of code (cmd and tx queue related) between both
drivers.

Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: Use iwl_txq_update_write_ptr
Samuel Ortiz [Mon, 19 Jan 2009 23:30:25 +0000 (15:30 -0800)]
iwl3945: Use iwl_txq_update_write_ptr

The iwl3945 and the iwl versions are identical.

Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: add debugging for wrong command queue
Chatre, Reinette [Mon, 19 Jan 2009 23:30:24 +0000 (15:30 -0800)]
iwl3945: add debugging for wrong command queue

We encountered a problem related to this BUG and need to obtain more
debugging information. See bug report at
http://marc.info/?l=linux-wireless&m=123147215829854&w=2

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: kill iwl3945_scan_cancel and iwl3945_scan_cancel_timeout
Winkler, Tomas [Mon, 19 Jan 2009 23:30:23 +0000 (15:30 -0800)]
iwlwifi: kill iwl3945_scan_cancel and iwl3945_scan_cancel_timeout

This patch removes iwl3945_scan_cancel and iwl3945_scan_cancel_timeout
because iwl_scan_cancel iwl_scan_cancel_timeout are just same.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: fix iwl_mac_set_key and iwl3945_mac_set_key
Winkler, Tomas [Mon, 19 Jan 2009 23:30:22 +0000 (15:30 -0800)]
iwlwifi: fix iwl_mac_set_key and iwl3945_mac_set_key

This patch fix iwl_mac_set_key function changed in patch
"mac80211: clean up set_key callback"

1. removing 'static' const u8 *addr' that can possible cause
conflict when two or more NICs are present in the system.
2. simplifying functions

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: make iwl-power.c more readable
Winkler, Tomas [Mon, 19 Jan 2009 23:30:21 +0000 (15:30 -0800)]
iwlwifi: make iwl-power.c more readable

This patch rearrange code in iwl-power.c function to make it a little more
readable. No functional changes.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: Fix MFP Association Comeback to use Timeout Interval IE
Jouni Malinen [Mon, 19 Jan 2009 16:48:46 +0000 (18:48 +0200)]
mac80211: Fix MFP Association Comeback to use Timeout Interval IE

The separate Association Comeback Time IE was removed from IEEE 802.11w
and the Timeout Interval IE (from IEEE 802.11r) is used instead. The
editing on this is still somewhat incomplete in IEEE 802.11w/D7.0, but
still, the use of Timeout Interval IE is the expected mechanism.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath5k: remove stop/start calls from within suspend/resume
Bob Copeland [Mon, 19 Jan 2009 16:20:54 +0000 (11:20 -0500)]
ath5k: remove stop/start calls from within suspend/resume

mac80211 now takes down interfaces automatically during suspend
so doing it in the driver is unnecessary.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: add suspend/resume callbacks
Bob Copeland [Mon, 19 Jan 2009 16:20:53 +0000 (11:20 -0500)]
mac80211: add suspend/resume callbacks

This patch introduces suspend and resume callbacks to mac80211,
allowing mac80211 to quiesce its state (bringing down interfaces,
removing keys, etc) in preparation for suspend.  cfg80211 will call
the suspend hook before the device suspend, and resume hook after
the device resume.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: add PM hooks
Johannes Berg [Mon, 19 Jan 2009 16:20:52 +0000 (11:20 -0500)]
cfg80211: add PM hooks

This should help implement suspend/resume in mac80211, these
hooks will be run before the device is suspended and after it
resumes. Therefore, they can touch the hardware as much as
they want to.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: Fix drop-unencrypted for management frames
Jouni Malinen [Mon, 19 Jan 2009 14:52:00 +0000 (16:52 +0200)]
mac80211: Fix drop-unencrypted for management frames

ADDBA request Action frame was sent out before 4-way handshake was
completed and the initial 802.11w code ended up dropping the frame
even if MFP was not enabled. While the sending of Action frames this
early is not really a good idea (will break with MFP enabled), we
should not break this for the MFP disabled case.

This patch fixes ieee80211_tx_h_select_key() not to drop management
frames if MFP is disabled. If MFP is enabled, Action frames will be
dropped before keys are set per IEEE 802.11w/D7.0. Other robust
management frames (i.e., Deauthentication and Disassociation frames)
are allowed unprotected prior to key configuration.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>