GitHub/MotorolaMobilityLLC/kernel-slsi.git
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>
15 years agoiwl3945: report killswitch changes even if the interface is down
Helmut Schaa [Thu, 15 Jan 2009 08:38:44 +0000 (09:38 +0100)]
iwl3945: report killswitch changes even if the interface is down

Currently iwl3945 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 iwl3945_pci_probe instead of iwl3945_up
and poll the CSR_GP_CNTRL register to update the killswitch state every
two seconds. The polling is only needed on 3945 hardware as this adapter
does not use interrupts to signal rfkill changes to the driver (in case no
firmware is loaded). The firmware loading is still done in iwl3945_up.

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 agoprism54: remove private implementation of le32_add_cpu
Harvey Harrison [Thu, 15 Jan 2009 07:10:55 +0000 (23:10 -0800)]
prism54: remove private implementation of le32_add_cpu

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Eliminate compilation warning in b43_op_set_key
Larry Finger [Wed, 14 Jan 2009 17:15:25 +0000 (11:15 -0600)]
b43: Eliminate compilation warning in b43_op_set_key

A recent pull from wireless testing generates the following warning:

   CC [M]  drivers/net/wireless/b43/main.o
 drivers/net/wireless/b43/main.c: In function ‘b43_op_set_key’:
 drivers/net/wireless/b43/main.c:3636: warning: pointer type mismatch
 in conditional expression

This fix was suggested by Johannes Berg <johannes@sipsolutions.net>.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Use a defined value for pci_set_power_state()
Jouni Malinen [Tue, 13 Jan 2009 12:32:37 +0000 (14:32 +0200)]
ath9k: Use a defined value for pci_set_power_state()

Silence sparse by using a defined value PCI_D3hot instead of a magic
constant in a pci_set_power_state() call.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agonl80211: Fix documentation errors
Jouni Malinen [Mon, 12 Jan 2009 12:24:40 +0000 (14:24 +0200)]
nl80211: Fix documentation errors

Couple of '_ATTR's were missing and SEC_CHAN_OFFSET to CHANNEL_TYPE
rename was missed in couple of places.

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 agoath5k: discard 11g caps if reported by an ar5211 eeprom
Helmut Schaa [Mon, 12 Jan 2009 12:04:06 +0000 (13:04 +0100)]
ath5k: discard 11g caps if reported by an ar5211 eeprom

At least one ar5211 card (GIGABYTE GN-WLMA101, 168c:0012 subsystem
1458:e800) reports itself as 11g capable which seems to be a bug in the
eeprom. initvals.c assumes that ar5211 is only 11b capable and thus refuses
to initialize this card. Hence this patch changes the probing for 11g
capabilities to discard 11g capabilities for ar5211 cards which allows this
specific card to work fine in 11b and 11a modes.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agop54spi: p54spi driver
Christian Lamparter [Sun, 11 Jan 2009 00:18:38 +0000 (01:18 +0100)]
p54spi: p54spi driver

This patch adds the p54spi driver.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agop54spi: stlc45xx eeprom blob
Christian Lamparter [Sun, 11 Jan 2009 00:16:09 +0000 (01:16 +0100)]
p54spi: stlc45xx eeprom blob

Usually every prism54 design hardware has a tiny eeprom chip in which all
device specific data for calibration and link-tuning is stored.
The stlc45xx chips are the only exception.
They are made for embedded devices, where space is scarce.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agop54: longbow frontend support
Christian Lamparter [Sun, 11 Jan 2009 00:14:18 +0000 (01:14 +0100)]
p54: longbow frontend support

This patch adds support for longbow RF chip.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agop54: prepare the eeprom parser routines for longbow
Christian Lamparter [Sun, 11 Jan 2009 00:10:33 +0000 (01:10 +0100)]
p54: prepare the eeprom parser routines for longbow

This patch adds support to upload pre-calculated calibration data to the firmware.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath5k: fix bf->skb==NULL panic in ath5k_tasklet_rx
Bob Copeland [Sat, 10 Jan 2009 19:42:54 +0000 (14:42 -0500)]
ath5k: fix bf->skb==NULL panic in ath5k_tasklet_rx

Under memory pressure, we may not be able to allocate a new skb for
new packets.  If the allocation fails, ath5k_tasklet_rx will exit but
will leave a buffer in the list with a NULL skb, eventually triggering
a BUG_ON.

Extract the skb allocation from ath5k_rxbuf_setup() and change the
tasklet to allocate the next skb before accepting a packet.

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 agoath9k: Fix basic connectivity issue
Vasanthakumar Thiagarajan [Sat, 10 Jan 2009 11:37:09 +0000 (17:07 +0530)]
ath9k: Fix basic connectivity issue

This patch temporarily fixes a regression introduced by BT coexistence support.
There is an instability in connection when BT coexistence is enabled on some h/w.
This interim fix introduces a module parameter for BT coexistence configuration.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agort2400,rt2500: init led_qual for LED_MODE_DEFAULT
Andrew Price [Sat, 10 Jan 2009 19:38:05 +0000 (19:38 +0000)]
rt2400,rt2500: init led_qual for LED_MODE_DEFAULT

Add a check for LED_MODE_DEFAULT so that we use the link LED for rt2400
and rt2500 devices.

Signed-off-by: Andrew Price <andy@andrewprice.me.uk>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: Fix radiotap header it_present on big endian CPUs
Jouni Malinen [Sat, 10 Jan 2009 09:47:33 +0000 (11:47 +0200)]
mac80211: Fix radiotap header it_present on big endian CPUs

When the IEEE80211_RADIOTAP_RATE flag was moved to be conditional, it
was mistakenly left without cpu_to_le32(). Fix that.

Signed-off-by: Jouni Malinen <j@w1.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: Mark ieee80211_process_sa_query_req() static
Jouni Malinen [Sat, 10 Jan 2009 09:46:53 +0000 (11:46 +0200)]
mac80211: Mark ieee80211_process_sa_query_req() static

This function is only used within rx.c, so mark it static.

Signed-off-by: Jouni Malinen <j@w1.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agolibertas: if_spi, driver for libertas GSPI devices
Colin McCabe [Fri, 9 Jan 2009 22:58:09 +0000 (14:58 -0800)]
libertas: if_spi, driver for libertas GSPI devices

Add initial support for libertas devices using a GSPI interface.  This has
been tested with the 8686.

GSPI is intended to be used on embedded systems. Board-specific parameters are
required (see libertas_spi.h).

Thanks to everyone who took a look at the earlier versions of the patch.

Signed-off-by: Colin McCabe <colin@cozybit.com>
Signed-off-by: Andrey Yurovsky <andrey@cozybit.com>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agop54: upgrade memrecord to p54_tx_info
Christian Lamparter [Fri, 9 Jan 2009 20:06:06 +0000 (21:06 +0100)]
p54: upgrade memrecord to p54_tx_info

mac80211 reserves 24 bytes in skb->cb for the driver.
So far, we only used them to keep track of used and free device memory.
But p54spi will need a slice of it, as well as the stuck frame detection.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agop54: refactor p54_alloc_skb
Christian Lamparter [Fri, 9 Jan 2009 20:05:31 +0000 (21:05 +0100)]
p54: refactor p54_alloc_skb

Old firmwares had no problems processing frames which filled eighth of the memory window.
However we have to be a bit more careful with fat frames when we talk to new firmwares.
Apart from that, I confess the old logic was a bit weird and not very sophisticated.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: document return codes from ops callbacks
Bob Copeland [Fri, 9 Jan 2009 02:00:34 +0000 (21:00 -0500)]
mac80211: document return codes from ops callbacks

For any callbacks in ieee80211_ops, specify what values the return
codes represent.  While at it, fix a couple of capitalization and
punctuation differences.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Reviewed-by: Kalle Valo <kalle.valo@iki.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoIWL: fix WARN typo
Jiri Slaby [Mon, 5 Jan 2009 16:06:06 +0000 (17:06 +0100)]
IWL: fix WARN typo

new kew -> a new key

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Cc: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agolibertas: Update libertas core with GSPI constants
Colin McCabe [Sat, 3 Jan 2009 03:00:22 +0000 (19:00 -0800)]
libertas: Update libertas core with GSPI constants

Add GSPI constants to libertas core.

Fix misleading comment in lbs_setup_firmware.

Signed-off-by: Colin McCabe <colin@cozybit.com>
Signed-off-by: Andrey Yurovsky <andrey@cozybit.com>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: Fix iwl3945_init_drv()
Samuel Ortiz [Thu, 8 Jan 2009 18:20:01 +0000 (10:20 -0800)]
iwl3945: Fix iwl3945_init_drv()

iwl3945_init_drv() initialises the wrong lock, and sets the wrong power saving
default level.
With this power saving mode, we are losing a lot of frames in Ad-Hoc mode.

This is a bug fix for bug #1873.
( http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1873 )

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 agomac80211: Handle power constraint level advertised in 11d+h beacon
Vasanthakumar Thiagarajan [Fri, 9 Jan 2009 12:44:15 +0000 (18:14 +0530)]
mac80211: Handle power constraint level advertised in 11d+h beacon

This patch uses power constraint level while determining the maximum
transmit power, there by it makes sure that any power mitigation
requirement for the channel in the current regulatory domain is met.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: update copyright year to 2009
Reinette Chatre [Thu, 8 Jan 2009 18:20:02 +0000 (10:20 -0800)]
iwlwifi: update copyright year to 2009

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: Change crypto parameter name
Samuel Ortiz [Thu, 8 Jan 2009 18:19:59 +0000 (10:19 -0800)]
iwl3945: Change crypto parameter name

Now that we're using iwl_mod_params, we want our module parameters names to be
in sync with the structure.
So, to set iwl_mod_params.sw_crypto, we'd better use a "swcrypto" parameter
name instead of the "hwcrypto" current one.
Moreover, by setting the decrypted flag properly, this patch also fixes the HW
crypto path for 3945 (the current code is not setting it when running HW
crypto).

This is a bug fix for bug #1872
( http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1872 )

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 hw_params.rx_buf_size
Winkler, Tomas [Thu, 8 Jan 2009 18:19:57 +0000 (10:19 -0800)]
iwl3945: use hw_params.rx_buf_size

This patch makes 3945 use of hw_params.rx_buf_size instead of
IWL_RX_BUF_SIZE. It also renames IWL_RX_BUF_SIZE to IWL_RX_BUF_SIZE_3K
and moves rx buffer defines into iwl-fh.h.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: remove double defined 3945 tfd structures
Winkler, Tomas [Thu, 8 Jan 2009 18:19:56 +0000 (10:19 -0800)]
iwl3945: remove double defined 3945 tfd structures

This patch removes doubly defined struct iwl3945_tfd_frame_data
and struct iwl3945_tfd_frame.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: kill iwl3945_x2_queue_used
Winkler, Tomas [Thu, 8 Jan 2009 18:19:55 +0000 (10:19 -0800)]
iwl3945: kill iwl3945_x2_queue_used

This patch replaces iwl3945_x2_queue_used with iwl_queue_used.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: kill iwl3945_rx_queue_space
Winkler, Tomas [Thu, 8 Jan 2009 18:19:54 +0000 (10:19 -0800)]
iwl3945: kill iwl3945_rx_queue_space

This patch replaces iwl3945_rx_queue_space with iwl_rx_queue_space.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: kill iwl3945_rx_queue_restock
Winkler, Tomas [Thu, 8 Jan 2009 18:19:53 +0000 (10:19 -0800)]
iwl3945: kill iwl3945_rx_queue_restock

This patch kills iwl3945_rx_queue_restock function on prise of new
hw_params.rx_wrt_ptr_reg which holds per NIC RX write pointer register.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: kill hw_params.tx_ant_num
Winkler, Tomas [Thu, 8 Jan 2009 18:19:52 +0000 (10:19 -0800)]
iwl3945: kill hw_params.tx_ant_num

This patch removes tx_ant_num for hw_params structure. It is not used.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211_hwsim: Report driver as MFP capable
Jouni Malinen [Thu, 8 Jan 2009 11:32:14 +0000 (13:32 +0200)]
mac80211_hwsim: Report driver as MFP capable

mac80211_hwsim has no problems with MFP, so report it as MFP capable.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Setup MFP options for CCMP
Jouni Malinen [Thu, 8 Jan 2009 11:32:13 +0000 (13:32 +0200)]
ath9k: Setup MFP options for CCMP

Configure hardware CCMP for management frame protection and use
software crypto when needed.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Fix set_key error codes
Jouni Malinen [Thu, 8 Jan 2009 11:32:12 +0000 (13:32 +0200)]
ath9k: Fix set_key error codes

Return -EOPNOTSUPP if the algorithm is not supported and -ENOSPC if
there is no room in the key cache. This avoids KERN_ERR printk in
mac80211 for "errors" that are actually expected to happen in normal
operating conditions.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: 802.11w - Add driver capability flag for MFP
Jouni Malinen [Thu, 8 Jan 2009 11:32:11 +0000 (13:32 +0200)]
mac80211: 802.11w - Add driver capability flag for MFP

This allows user space to determine whether a driver supports MFP and
behave properly without having to ask user to configure this in
MFP-optional mode.

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 agomac80211: 802.11w - Optional software CCMP for management frames
Jouni Malinen [Thu, 8 Jan 2009 11:32:10 +0000 (13:32 +0200)]
mac80211: 802.11w - Optional software CCMP for management frames

If driver/firmware/hardware does not support CCMP for management
frames, it can now request mac80211 to take care of encrypting and
decrypting management frames (when MFP is enabled) in software. The
will need to add this new IEEE80211_KEY_FLAG_SW_MGMT flag when a CCMP
key is being configured for TX side and return the undecrypted frames
on RX side without RX_FLAG_DECRYPTED flag to use software CCMP for
management frames (but hardware for data frames).

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 agomac80211: 802.11w - Implement Association Comeback processing
Jouni Malinen [Thu, 8 Jan 2009 11:32:09 +0000 (13:32 +0200)]
mac80211: 802.11w - Implement Association Comeback processing

When MFP is enabled, the AP does not allow a STA to associate if an
existing security association exists without first going through SA
Query process. When this happens, the association request is denied
with a new status code ("temporarily rejected") ans Association
Comeback IE is used to notify when the association may be tried again
(i.e., when the SA Query procedure has timed out).

Use the comeback time to update the mac80211 client MLME timer for
next association attempt to minimize waiting time if association is
temporarily rejected.

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 agomac80211: 802.11w - Drop unprotected robust management frames if MFP is used
Jouni Malinen [Thu, 8 Jan 2009 11:32:08 +0000 (13:32 +0200)]
mac80211: 802.11w - Drop unprotected robust management frames if MFP is used

Use ieee80211_drop_unencrypted() to decide whether a received frame
should be dropped with management frames, too. If MFP is negotiated,
unprotected robust management frames will be dropped.

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 agomac80211: 802.11w - Do not force Action frames to disable encryption
Jouni Malinen [Thu, 8 Jan 2009 11:32:07 +0000 (13:32 +0200)]
mac80211: 802.11w - Do not force Action frames to disable encryption

When sending out Action frames, allow ieee80211_tx_skb() to send them
without enforcing do_not_encrypt. These frames will be encrypted if
MFP has been negotiated.

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 agomac80211: 802.11w - SA Query processing
Jouni Malinen [Thu, 8 Jan 2009 11:32:06 +0000 (13:32 +0200)]
mac80211: 802.11w - SA Query processing

Process SA Query Requests for client mode in mac80211. AP side
processing of SA Query Response frames is in user space (hostapd).

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 agomac80211: 802.11w - Configuration of MFP disabled/optional/required
Jouni Malinen [Thu, 8 Jan 2009 11:32:05 +0000 (13:32 +0200)]
mac80211: 802.11w - Configuration of MFP disabled/optional/required

Add new WEXT IW_AUTH_* parameter for setting MFP
disabled/optional/required.

Signed-off-by: Jouni Malinen <j@w1.fi>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: 802.11w - WEXT configuration for IGTK
Jouni Malinen [Thu, 8 Jan 2009 11:32:04 +0000 (13:32 +0200)]
mac80211: 802.11w - WEXT configuration for IGTK

Added new SIOCSIWENCODEEXT algorithm for configuring BIP (AES-CMAC)
keys (IGTK).

Signed-off-by: Jouni Malinen <j@w1.fi>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: 802.11w - WEXT parameter for setting mgmt cipher
Jouni Malinen [Thu, 8 Jan 2009 11:32:03 +0000 (13:32 +0200)]
mac80211: 802.11w - WEXT parameter for setting mgmt cipher

Add a new IW_AUTH parameter for setting cipher suite for
multicast/broadcast management frames. This is for full-mac drivers
that take care of RSN IE generation for (re)association request frames.

Signed-off-by: Jouni Malinen <j@w1.fi>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: 802.11w - Use BIP (AES-128-CMAC)
Jouni Malinen [Thu, 8 Jan 2009 11:32:02 +0000 (13:32 +0200)]
mac80211: 802.11w - Use BIP (AES-128-CMAC)

Add mechanism for managing BIP keys (IGTK) and integrate BIP into the
TX/RX paths.

Signed-off-by: Jouni Malinen <j@w1.fi>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: 802.11w - Add BIP (AES-128-CMAC)
Jouni Malinen [Thu, 8 Jan 2009 11:32:01 +0000 (13:32 +0200)]
mac80211: 802.11w - Add BIP (AES-128-CMAC)

Implement Broadcast/Multicast Integrity Protocol for management frame
protection. This patch adds the needed definitions for the new
information element (MMIE) and implementation for the new "encryption"
type (though, BIP is actually not encrypting data, it provides only
integrity protection). These routines will be used by a follow-on patch
that enables BIP for multicast/broadcast robust management frames.

Signed-off-by: Jouni Malinen <j@w1.fi>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: 802.11w - CCMP for management frames
Jouni Malinen [Thu, 8 Jan 2009 11:32:00 +0000 (13:32 +0200)]
mac80211: 802.11w - CCMP for management frames

Extend CCMP to support encryption and decryption of unicast management
frames.

Signed-off-by: Jouni Malinen <j@w1.fi>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: 802.11w - STA flag for MFP
Jouni Malinen [Thu, 8 Jan 2009 11:31:59 +0000 (13:31 +0200)]
mac80211: 802.11w - STA flag for MFP

Add flags for setting STA entries and struct ieee80211_if_sta to
indicate whether management frame protection (MFP) is used.

Signed-off-by: Jouni Malinen <j@w1.fi>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: fix typo on message after intersection
Luis R. Rodriguez [Thu, 8 Jan 2009 01:43:35 +0000 (17:43 -0800)]
cfg80211: fix typo on message after intersection

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 multiple driver regulatory_hints()
Luis R. Rodriguez [Thu, 8 Jan 2009 01:43:34 +0000 (17:43 -0800)]
cfg80211: allow multiple driver regulatory_hints()

We add support for multiple drivers to provide a regulatory_hint()
on a system by adding a wiphy specific regulatory domain cache.
This allows drivers to keep around cache their own regulatory domain
structure queried from CRDA.

We handle conflicts by intersecting multiple regulatory domains,
each driver will stick to its own regulatory domain though unless
a country IE has been received and processed.

If the user already requested a regulatory domain and a driver
requests the same regulatory domain then simply copy to the
driver's regd the same regulatory domain and do not call
CRDA, do not collect $200.

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: call reg_notifier() once
Luis R. Rodriguez [Thu, 8 Jan 2009 01:43:32 +0000 (17:43 -0800)]
cfg80211: call reg_notifier() once

We are calling the reg_notifier() callback per band, this is
not necessary, just call it once.

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 agomac80211: extend/document powersave API
Johannes Berg [Wed, 7 Jan 2009 17:28:20 +0000 (18:28 +0100)]
mac80211: extend/document powersave API

This modifies hardware flags for powersave to support three different
flags:
 * IEEE80211_HW_SUPPORTS_PS - indicates general PS support
 * IEEE80211_HW_PS_NULLFUNC_STACK - indicates nullfunc sending in software
 * IEEE80211_HW_SUPPORTS_DYNAMIC_PS - indicates dynamic PS on the device

It also adds documentation for all this which explains how to set the
various flags.

Additionally, it fixes a few things:
 * a spot where && was used to test flags
 * enable CONF_PS only when associated again

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>