openwrt/staging/blogic.git
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>
15 years agoiwlagn: fix hw-rfkill while the interface is down
Helmut Schaa [Mon, 19 Jan 2009 12:10:07 +0000 (13:10 +0100)]
iwlagn: fix hw-rfkill while the interface is down

Currently iwlagn is not able to report hw-killswitch events while the
interface is down. This has implications on user space tools (like
NetworkManager) relying on rfkill notifications to bring the interface
up once the wireless gets enabled through a hw killswitch.

Thus, enable the device already in iwl_pci_probe instead of iwl_up
and enable interrups while the interface is down in order to get
notified about killswitch state changes. The firmware loading is still
done in iwl_up.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Acked-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: fix some warnings when compiled without debug
Helmut Schaa [Mon, 19 Jan 2009 12:02:15 +0000 (13:02 +0100)]
iwl3945: fix some warnings when compiled without debug

Fix the following warnings if compiled without CONFIG_IWLWIFI_DEBUG.

drivers/net/wireless/iwlwifi/iwl3945-base.c: In function ‘iwl3945_rx_reply_add_sta’:
drivers/net/wireless/iwlwifi/iwl3945-base.c:2748: warning: unused variable ‘pkt’
drivers/net/wireless/iwlwifi/iwl3945-base.c: In function ‘iwl3945_rx_scan_results_notif’:
drivers/net/wireless/iwlwifi/iwl3945-base.c:2903: warning: unused variable ‘notif’
drivers/net/wireless/iwlwifi/iwl3945-base.c: In function ‘iwl3945_rx_scan_complete_notif’:
drivers/net/wireless/iwlwifi/iwl3945-base.c:2928: warning: unused variable ‘scan_notif’

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Acked-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: trivial documentation fix (mesh_nexthop_lookup()).
Rami Rosen [Mon, 19 Jan 2009 11:50:37 +0000 (13:50 +0200)]
mac80211: trivial documentation fix (mesh_nexthop_lookup()).

This patch fixes the documentation of mesh_nexthop_lookup() in mesh_hwmp.c.

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: trivial documentation fixes (enum mesh_path_flags).
Rami Rosen [Mon, 19 Jan 2009 11:50:32 +0000 (13:50 +0200)]
mac80211: trivial documentation fixes (enum mesh_path_flags).

This patch fixes documentation of enum mesh_path_flags in mesh.h.

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: remove mesh_plink_close() method.
Rami Rosen [Mon, 19 Jan 2009 11:50:27 +0000 (13:50 +0200)]
mac80211: remove mesh_plink_close() method.

This patch removes mesh_plink_close() method as it is unused.

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: cleanup kmalloc/memset -> kcalloc
Wei Yongjun [Thu, 15 Jan 2009 09:41:16 +0000 (17:41 +0800)]
mac80211: cleanup kmalloc/memset -> kcalloc

Transform calls kmalloc/memset to a single kcalloc.

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath5k: notice a negative keytype
Roel Kluin [Sun, 18 Jan 2009 22:50:27 +0000 (23:50 +0100)]
ath5k: notice a negative keytype

To notice a negative keytype

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Acked-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agort2x00: Add LED_MODE_ASUS support
Ivo van Doorn [Sat, 17 Jan 2009 19:44:08 +0000 (20:44 +0100)]
rt2x00: Add LED_MODE_ASUS support

When the led mode is asus, the activity led mode must
be registered otherwise the second LED will not be enabled.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agort2x00: conf_tx() only need register access for WMM queues
Ivo van Doorn [Sat, 17 Jan 2009 19:42:58 +0000 (20:42 +0100)]
rt2x00: conf_tx() only need register access for WMM queues

conf_tx() in rt61pci and rt73usb only have to check once
if the queue_idx indicates a non-WMM queue and break of
the function immediately if that is the case.

Only the WMM queues need to have the TX configuration written
to the registers.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agort2x00: Update copyright year to 2009
Ivo van Doorn [Sat, 17 Jan 2009 19:42:32 +0000 (20:42 +0100)]
rt2x00: Update copyright year to 2009

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoMove orinoco Kconfig entries into drivers/net/wireless/orinoco/Kconfig
Andrey Borzenkov [Sat, 17 Jan 2009 12:53:45 +0000 (15:53 +0300)]
Move orinoco Kconfig entries into drivers/net/wireless/orinoco/Kconfig

Since driver now lives in separate subdirectory, move Kconfig entries
in own file so they can be tweaked indepndently. It complements
"orinoco: Move sources to a subdirectory".

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 agop54spi: remove arch specific dependencies
Christian Lamparter [Fri, 16 Jan 2009 21:34:15 +0000 (22:34 +0100)]
p54spi: remove arch specific dependencies

On Friday 16 January 2009 20:33:43 Kalle Valo wrote:
> N800 and N810 support is not on mainline yet, for stlc45xx I decided
> to add module parameters for the gpio numbers. Here's the commit from
> stlc45xx repo:
>
> http://gitorious.org/projects/stlc45xx/repos/mainline/commits/35afc5df0027d02d49e6f5bf986dcc4deb4ee6cf

This is the same patch for p54spi.
It removes all N800/N810 specific code from p54spi, so the driver can be used on
other architectures, or configurations as well.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agop54usb: fix conflict with recent usb changes
Christian Lamparter [Fri, 16 Jan 2009 19:24:31 +0000 (20:24 +0100)]
p54usb: fix conflict with recent usb changes

A recent change in the usb core "USB: change interface to usb_lock_device_for_reset()"
conflicts with "p54usb: utilize usb_reset_device for 3887".

Sadly, we have to call usb_reset_device before we can upload the firmware on 3887.
Unless someone figures out how to reliably stop the 3887 so the hardware is still usable
next time we want to start it.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Cleanup buffer type assignment
Sujith [Fri, 16 Jan 2009 16:08:56 +0000 (21:38 +0530)]
ath9k: Cleanup buffer type assignment

The buffer state is already cleared in ATH_TXBUF_RESET.
Remove redundant code clearing the type variable.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Revamp TX aggregation
Sujith [Fri, 16 Jan 2009 16:08:53 +0000 (21:38 +0530)]
ath9k: Revamp TX aggregation

This patch cleans up the convoluted buffer management
logic for TX aggregation. Both aggregation creation and
completion are addressed.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Handle holding descriptor in TX completion properly
Sujith [Fri, 16 Jan 2009 16:08:51 +0000 (21:38 +0530)]
ath9k: Handle holding descriptor in TX completion properly

If the current holding descriptor is the last one in the TX queue,
*and* it has been marked as STALE, then move it to the free list
and bail out, as it has already been processed.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Add a helper function to wake mac80211 queues
Sujith [Fri, 16 Jan 2009 16:08:49 +0000 (21:38 +0530)]
ath9k: Add a helper function to wake mac80211 queues

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Merge queue draining functions
Sujith [Fri, 16 Jan 2009 16:08:47 +0000 (21:38 +0530)]
ath9k: Merge queue draining functions

The TX queue draining routines have confusing names,
rename them approprately and merge ath_drain_txdataq()
with ath_drain_all_txq().

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Remove ath_tx_stopdma and call ath9k_hw_stoptxdma directly
Sujith [Fri, 16 Jan 2009 16:08:45 +0000 (21:38 +0530)]
ath9k: Remove ath_tx_stopdma and call ath9k_hw_stoptxdma directly

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Reorganize code in xmit.c
Sujith [Fri, 16 Jan 2009 16:08:42 +0000 (21:38 +0530)]
ath9k: Reorganize code in xmit.c

This patch starts cleaning up all the crufty code in transmission path,
grouping functions into logical blocks.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Update short guard interval in rate control
Sujith [Fri, 16 Jan 2009 16:08:40 +0000 (21:38 +0530)]
ath9k: Update short guard interval in rate control

The rate control algorithm needs to know if a STA allows
short guard interval, fixing this allows RC to use the correct
table.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: rateCodeToIndex is not used, remove it
Sujith [Fri, 16 Jan 2009 16:08:28 +0000 (21:38 +0530)]
ath9k: rateCodeToIndex is not used, remove it

Calculation of rate indices from ratecode is done in recv.c
in a straightforward manner for both HT and legacy rates.
This variable is not needed anymore.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agonl80211: New command for adding extra IE(s) into management frames
Jouni Malinen [Tue, 13 Jan 2009 14:03:29 +0000 (16:03 +0200)]
nl80211: New command for adding extra IE(s) into management frames

A new nl80211 command, NL80211_CMD_SET_MGMT_EXTRA_IE, can be used to
add arbitrary IE data into the end of management frames. The interface
allows extra IEs to be configured for each management frame subtype, but
only some of them (ProbeReq, ProbeResp, Auth, (Re)AssocReq, Deauth,
Disassoc) are currently accepted in mac80211 implementation.

This makes it easier to implement IEEE 802.11 extensions like WPS and
FT that add IE(s) into some management frames. In addition, this can
be useful for testing and experimentation purposes.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: enable support for AR9100
Gabor Juhos [Wed, 14 Jan 2009 19:17:12 +0000 (20:17 +0100)]
ath9k: enable support for AR9100

Because we have support for the AR9100 devices now, we can enable them.

Changes-licensed-under: ISC

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
Tested-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: fix null pointer dereference in ani monitor code
Gabor Juhos [Wed, 14 Jan 2009 19:17:11 +0000 (20:17 +0100)]
ath9k: fix null pointer dereference in ani monitor code

In 'ath9k_ani_reset' the 'ahp->ah_curani' will be initialized only
if 'DO_ANI(ah)' true. In 'ath9k_hw_ani_monitor' we are using
'ahp->ah_curani' unconditionally, and it will cause a NULL pointer
dereference on AR9100.

Changes-licensed-under: ISC

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
Tested-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: fix ar5416Addac_9100 values
Gabor Juhos [Wed, 14 Jan 2009 19:17:10 +0000 (20:17 +0100)]
ath9k: fix ar5416Addac_9100 values

Writing the register at offset 0x98c4 causes a deadlock on the AR913x
SoCs. Although i don't have detailed knowledge about these registers,
but if i change the register offset according to the 'ar5416Addac' table,
it works. Additionally there is no reference to the 0x98c4 elsewhere.

Changes-licensed-under: ISC

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
Tested-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: remove (u16) casts from rtc register access
Gabor Juhos [Wed, 14 Jan 2009 19:17:09 +0000 (20:17 +0100)]
ath9k: remove (u16) casts from rtc register access

The RTC register offsets don't fit into 'u16' on the AR913x, so we have
to remove the existing casts.

Changes-licensed-under: ISC

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
Tested-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: get EEPROM contents from platform data on AHB bus
Gabor Juhos [Wed, 14 Jan 2009 19:17:08 +0000 (20:17 +0100)]
ath9k: get EEPROM contents from platform data on AHB bus

On the AR913x SOCs we have to provide EEPROM contents via platform_data,
because accessing the flash via MMIO is not safe. Additionally different
boards may store the radio calibration data at different locations.

Changes-licensed-under: ISC

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
Tested-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: introduce platform driver for AHB bus support
Gabor Juhos [Wed, 14 Jan 2009 19:17:07 +0000 (20:17 +0100)]
ath9k: introduce platform driver for AHB bus support

This patch adds the platform_driver itself, and modifies the main driver
to register it.

Changes-licensed-under: ISC

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
Tested-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: move PCI code into separate file
Gabor Juhos [Wed, 14 Jan 2009 19:17:06 +0000 (20:17 +0100)]
ath9k: move PCI code into separate file

Now that we have converted all bus specific routines to replaceable, we
can move the PCI specific codes into a separate file.

Changes-licensed-under: ISC

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
Tested-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: introduce bus specific cleanup routine
Gabor Juhos [Wed, 14 Jan 2009 19:17:05 +0000 (20:17 +0100)]
ath9k: introduce bus specific cleanup routine

We have left only some PCI specific cleanup code. We have to convert
them as well.

Changes-licensed-under: ISC

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
Tested-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: introduce bus specific cache size routine
Gabor Juhos [Wed, 14 Jan 2009 19:17:04 +0000 (20:17 +0100)]
ath9k: introduce bus specific cache size routine

The PCI specific bus_read_cachesize routine won't work on the AHB bus,
we have to replace it with a suitable one later.

Changes-licensed-under: ISC

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
Tested-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: convert to use bus-agnostic DMA routines
Gabor Juhos [Wed, 14 Jan 2009 19:17:03 +0000 (20:17 +0100)]
ath9k: convert to use bus-agnostic DMA routines

Convert to use bus-agnostic DMA routines to make it usable on AHB bus as well.

Changes-licensed-under: ISC

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
Tested-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: convert to struct device
Gabor Juhos [Wed, 14 Jan 2009 19:17:02 +0000 (20:17 +0100)]
ath9k: convert to struct device

Convert 'struct pci_dev' to 'struct device' to make it usable on the AHB
bus as well.

Changes-licensed-under: ISC

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
Tested-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>