Patrick Kelle [Tue, 15 Nov 2011 15:44:48 +0000 (16:44 +0100)]
minstrel_ht: Remove unused function parameters
Remove unused function parameters in the following functions:
minstrel_calc_rate_ewma()
minstrel_ht_calc_tp()
minstrel_aggr_check()
minstrel_ht_set_rate()
Signed-off-by: Patrick Kelle <patrick.kelle81@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Dan Carpenter [Tue, 15 Nov 2011 06:33:31 +0000 (09:33 +0300)]
mac80211: memory leak in mesh_queue_preq()
We recently introduced a return here, but we need to call kfree
first.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Dan Carpenter [Tue, 15 Nov 2011 06:33:09 +0000 (09:33 +0300)]
mac80211: use kfree_skb() instead of kfree()
sk_buff structs should be freed using kfree_skb().
This was introduced recently in
029458212 "mac80211: Save probe
response data for bss".
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Helmut Schaa [Mon, 14 Nov 2011 14:28:20 +0000 (15:28 +0100)]
mac80211: Get rid of search loop for rate group index
Finding the group index for a specific rate is done by looping through
all groups and returning if the correct one is found. This code is
called for each tx'ed frame and thus it makes sense to reduce its
runtime.
Do this by calculating the group index by this formula based on the SGI
and HT40 flags as well as the stream number:
idx = (HT40 * 2 * MINSTREL_MAX_STREAMS) +
(SGI * MINSTREL_MAX_STREAMS) +
(streams - 1)
Hence, the groups are ordered by th HT40 flag first, then by the SGI
flag and afterwards by the number of used streams.
This should reduce the runtime of minstrel_ht_get_group_idx
considerable.
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Acked-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Helmut Schaa [Mon, 14 Nov 2011 14:28:19 +0000 (15:28 +0100)]
mac80211: Check rate->idx before rate->count
The drivers are not required to fill in rate->count if rate->idx is set
to -1. Hence, we should first check rate->idx before accessing
rate->count.
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Acked-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Mon, 14 Nov 2011 14:02:44 +0000 (15:02 +0100)]
mac80211: remove crypto special case for auth frames
The shared key authentication frame that needs to be
encrypted (the third one in the shared key handshake)
is directly encrypted in ieee80211_send_auth and the
IEEE80211_TX_INTFL_DONT_ENCRYPT is set. All others
are not encrypted, so the only way to get to this is
erroneously on no-monitor AP side.
Remove the special case for authentication frames to
fix the AP shared key side when operating without
cooked monitor interfaces -- with cooked monitor the
IEEE80211_TX_INTFL_DONT_ENCRYPT also gets set, so we
never get here -- an AP never encrypts auth frames.
Without this patch, an AP operating in WEP mode with
my no-monitor patches would erroneously encrypt all
authentication frames, instead of none.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Joe Perches [Sun, 13 Nov 2011 19:41:04 +0000 (11:41 -0800)]
brcmsmac: Use current logging styles
Add and use pr_fmt and pr_<level>
Remove useless double parentheses from macros.
Remove function names from format strings, add to pr_debug use.
Coalesce formats.
Remove uncompileable undeclared variable in a DMA_NONE use.
Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ilan Elias [Sun, 13 Nov 2011 08:14:30 +0000 (10:14 +0200)]
NFC: Fix indentation in nci.h file
Fix indentation in nci.h file.
Signed-off-by: Ilan Elias <ilane@ti.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rajkumar Manoharan [Sat, 12 Nov 2011 14:05:48 +0000 (19:35 +0530)]
ath9k_hw: set btcoex weights for AR9462
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rajkumar Manoharan [Sat, 12 Nov 2011 14:05:47 +0000 (19:35 +0530)]
ath9k_hw: Cleanup btcoex wlan weights
Remove all wlan weight macros and group it together for better
understanding & readability. It makes the code reusable for
AR9462 wlan weights.
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rajkumar Manoharan [Sat, 12 Nov 2011 14:05:46 +0000 (19:35 +0530)]
ath9k: Remove enabling btcoex from stomp type change
This patch removes btcoex_enable from stomp type change and let
it be called from callee functions that makes the code can be
reusable for MCI changes.
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
John W. Linville [Thu, 17 Nov 2011 20:16:55 +0000 (15:16 -0500)]
Merge branch 'for-linville' of git://github.com/kvalo/ath6kl
Johannes Berg [Fri, 11 Nov 2011 19:22:30 +0000 (20:22 +0100)]
mac80211: fix warning in ieee80211_probe_client
The warning is spurious -- if !sta we always exit without using the
unassigned qos variable, and if we do find the sta we assign it.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
John W. Linville [Fri, 11 Nov 2011 18:49:45 +0000 (13:49 -0500)]
libertas: release bss references and avoid warning from cfg80211_inform_bss
CC [M] drivers/net/wireless/libertas/cfg.o
drivers/net/wireless/libertas/cfg.c: In function ‘lbs_ret_scan’:
drivers/net/wireless/libertas/cfg.c:636:24: warning: ignoring return value of ‘cfg80211_inform_bss’, declared with attribute warn_unused_result
drivers/net/wireless/libertas/cfg.c: In function ‘lbs_join_post’:
drivers/net/wireless/libertas/cfg.c:1766:21: warning: ignoring return value of ‘cfg80211_inform_bss’, declared with attribute warn_unused_result
Signed-off-by: John W. Linville <linville@tuxdriver.com>
John W. Linville [Fri, 11 Nov 2011 18:29:29 +0000 (13:29 -0500)]
brcmsmac: fix warning in _initvars_srom_pci
CC [M] drivers/net/wireless/brcm80211/brcmsmac/srom.o
drivers/net/wireless/brcm80211/brcmsmac/srom.c: In function ‘_initvars_srom_pci’:
drivers/net/wireless/brcm80211/brcmsmac/srom.c:641:6: warning: ‘val’ may be used uninitialized in this function
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Franky Lin [Thu, 10 Nov 2011 19:30:34 +0000 (20:30 +0100)]
brcm80211: fmac: release bss struct returned from cfg80211_inform_bss
Referenced struct returned by cfg80211_inform_bss must be released with
cfg80211_put_bss to avoid memory leak.
Reviewed-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Franky Lin [Thu, 10 Nov 2011 19:30:33 +0000 (20:30 +0100)]
brcm80211: fmac: remove PCMCIA core related code
all the devices supported or will be supported by brcmfmac
do not have a PCMCIA bus core. So remove the corresponding code.
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Arend van Spriel <arend@broadcom.com
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Arend van Spriel [Thu, 10 Nov 2011 19:30:31 +0000 (20:30 +0100)]
brcm80211: fmac: add function to free the glom skb queue
In several places in dhd_sdio.c a skb packet queue was being emptied
and the packets freed. This warrants to have a function in place to
do this.
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Alwin Beukers <alwin@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Arend van Spriel [Thu, 10 Nov 2011 19:30:30 +0000 (20:30 +0100)]
brcm80211: util: remove pointer traversal from brcmu_pkt_buf_free_skb
The function brcmu_pkt_buf_free_skb() was following the next pointer
to free all linked packets. However, it is only called with unlinked
packets so this can be removed.
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Alwin Beukers <alwin@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Arend van Spriel [Thu, 10 Nov 2011 19:30:29 +0000 (20:30 +0100)]
brcm80211: util: move brcmu_pkttotlen() function to brcmfmac
The functions brcmu_pkttotlen() is only used in brcmfmac driver
so it has been moved there. It also does not use the sk_buff
next pointer anymore but walks a skb queue to determine the total
length.
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Alwin Beukers <alwin@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Alwin Beukers [Thu, 10 Nov 2011 19:30:28 +0000 (20:30 +0100)]
brcm80211: smac: combine promiscuous mode functionality
Combined mac configuration for promiscious mode and monitor mode, and
removed unused monitor mode flag in pub structure.
Reviewed-by: Arend van Spriel <arend@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Alwin Beukers <alwin@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Arend van Spriel [Thu, 10 Nov 2011 19:30:27 +0000 (20:30 +0100)]
brcm80211: util: use sk_buff_head in precedence queue functions
Instead of dealing with sk_buff prev pointers the queue functions
now make use of the sk_buff_head functions provided by the kernel.
Reported-by: Johannes Berg <johannes@sipsolutions.net>
Reviewed-by: Alwin Beukers <alwin@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Arend van Spriel [Thu, 10 Nov 2011 19:30:26 +0000 (20:30 +0100)]
brcm80211: smac: remove usage of brcmu_pkttotlen
The function brcmu_pkttotlen calculates the total length of a sk_buff
chain following the next pointer. In brcmsmac this is not needed as
in each place where it was used the provided sk_buff had a NULL pointer
as next field value.
Reviewed-by: Alwin Beukers <alwin@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Franky Lin [Thu, 10 Nov 2011 19:30:25 +0000 (20:30 +0100)]
brcm80211: fmac: remove id retrieve code
sdio_chip.c is dedicated to sdio bus chip. No need to retrieve id
for bus core
Reviewed-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Franky Lin [Thu, 10 Nov 2011 19:30:24 +0000 (20:30 +0100)]
brcm80211: fmac: add resetcore function for bcm4330 chip
This patch is part of the series of adding new backplane support
Reviewed-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Franky Lin [Thu, 10 Nov 2011 19:30:23 +0000 (20:30 +0100)]
brcm80211: fmac: add coredisable function for bcm4330 chip
This patch is part of the series of adding new backplane support
Reviewed-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Franky Lin [Thu, 10 Nov 2011 19:30:22 +0000 (20:30 +0100)]
brcm80211: fmac: add corerev function for bcm4330 chip
This patch is part of the series adding new backplane support
Reviewed-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Franky Lin [Thu, 10 Nov 2011 19:30:21 +0000 (20:30 +0100)]
brcm80211: fmac: add iscoreup function for bcm4330 chip
New type of backplane interconnect support is needed
for bcm4330
Reviewed-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Alwin Beukers [Thu, 10 Nov 2011 19:30:20 +0000 (20:30 +0100)]
brcm80211: smac: don't modify sta parameters when adding sta
Reported-by: Johannes Berg <johannes@sipsolutions.net>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Alwin Beukers <alwin@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Arend van Spriel [Thu, 10 Nov 2011 19:30:19 +0000 (20:30 +0100)]
brcm80211: smac: remove duplicate definition of D11_PHY_HDR_LEN
The macro definition D11_PHY_HDR_LEN was defined in d11.h and pub.h.
It has been removed from pub.h.
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Roland Vossen <rvossen@broadcom.com>
Reviewed-by: Alwin Beukers <alwin@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Arend van Spriel [Thu, 10 Nov 2011 19:30:18 +0000 (20:30 +0100)]
brcm80211: smac: replace own access category definitions with mac80211 enum
The brcmsmac had own definitions for the access categories. The mac80211
header provides these as well as they are used in the conf_tx callback.
As the definitions did not match the driver configured the tx parameters
to the wrong queue.
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Roland Vossen <rvossen@broadcom.com>
Reviewed-by: Alwin Beukers <alwin@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Arend van Spriel [Thu, 10 Nov 2011 19:30:17 +0000 (20:30 +0100)]
brcm80211: smac: remove code under unused macro definitions
There were a couple of code segments left that were placed under
a macro definition that was not applicable or not used in the
brcmsmac driver. These pieces of code have been removed.
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Roland Vossen <rvossen@broadcom.com>
Reviewed-by: Alwin Beukers <alwin@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Arend van Spriel [Thu, 10 Nov 2011 19:30:16 +0000 (20:30 +0100)]
brcm80211: smac: fix endianess issue for OTP memory access
This fixes issue when using OTP memory. It was introduced by
following commit:
commit
028f78d43d80dcb8b1142ea38606067151dd3d51
Author: Arend van Spriel <arend@broadcom.com>
Date: Fri Oct 21 16:16:35 2011 +0200
brcm80211: smac: change buffer endianess convert function interface
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Don Fry [Thu, 10 Nov 2011 14:55:27 +0000 (06:55 -0800)]
iwlagn: move nvm_device_type from iwl_priv to iwl_trans
The nvm_device_type is eeprom related and does not need to be part
of the iwl_priv structure. Move it and eliminate access to the iwl_priv
structure.
Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Don Fry [Thu, 10 Nov 2011 14:55:26 +0000 (06:55 -0800)]
iwlagn: Remove dependence of iwl_priv from eeprom routines.
Make the eeprom routines less dependent on the iwl_priv structure.
Don't use the priv when bus structure is sufficient.
Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Venkataraman, Meenakshi [Thu, 10 Nov 2011 14:55:25 +0000 (06:55 -0800)]
iwlwifi: fix rate-scaling algorithm for BT combo devices
iwlwifi tries to avoid using antenna B in BT combo devices when BT
is active. A bug in the rate-scaling algorithm was causing the combo
device to never attempt MIMO rates. Fix the algorithm to
opportunistically try MIMO rates when BT traffic is low.
Signed-off-by: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Emmanuel Grumbach [Thu, 10 Nov 2011 14:55:24 +0000 (06:55 -0800)]
iwlwifi: add debug information on queue stop / wake
Users complain that the traffic gets stalled sometimes. This will
allow easier debugging.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Emmanuel Grumbach [Thu, 10 Nov 2011 14:55:23 +0000 (06:55 -0800)]
iwlwifi: remove the use of the QOS debug flag
This bit was used only once. Use IWL_DL_INFO instead.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Thu, 10 Nov 2011 14:55:22 +0000 (06:55 -0800)]
iwlagn: don't always split remain-on-channel
Due to the P2P context always having the associated
bit set when we got to this code, we were splitting
up the remain-on-channel durations unconditionally.
This isn't needed -- if the P2P context is in P2P
device type mode it doesn't impose restrictions on
timing to skip it in that case.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Thu, 10 Nov 2011 14:55:21 +0000 (06:55 -0800)]
iwlagn: convert remain-on-channel duration to TU
The device expects TU but we get ms, so convert.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Emmanuel Grumbach [Thu, 10 Nov 2011 14:55:20 +0000 (06:55 -0800)]
iwlwifi: fix unused label in iwl_send_cmd_sync
Warning introduced by
c847474b7dfdda304d0d8ffcc5a9db546b1cb3e9
iwlwifi: check status before send command
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Wey-Yi Guy [Thu, 10 Nov 2011 14:55:19 +0000 (06:55 -0800)]
iwlwifi: check status before send command
Check the status before sending host command, if any of the condition
match, cancel the host command before queue
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Wey-Yi Guy [Thu, 10 Nov 2011 14:55:18 +0000 (06:55 -0800)]
iwlwifi: set "echo" host command length
"echo" host command has no data, set the length to 0
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Wey-Yi Guy [Thu, 10 Nov 2011 14:55:17 +0000 (06:55 -0800)]
iwlwifi: Move the core suspend function to iwl-agn-lib
The core suspend function is part of agn, iwl_mac80211 should only
handle mac80211 I/F operations.
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Wey-Yi Guy [Thu, 10 Nov 2011 14:55:16 +0000 (06:55 -0800)]
iwlwifi: move station functions to mac80211
The station related mac80211 callback functions should belong to _mac80211
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Wey-Yi Guy [Thu, 10 Nov 2011 14:55:15 +0000 (06:55 -0800)]
iwlwifi: move hw_scan into _mac80211 file
iwlagn_mac_hw_scan should belong to _mac80211 callback.
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Wey-Yi Guy [Thu, 10 Nov 2011 14:55:14 +0000 (06:55 -0800)]
iwlwifi: move more mac80211 callback function
Move more mac80211 related functions to _mac80211 file
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Thu, 10 Nov 2011 14:55:13 +0000 (06:55 -0800)]
iwlagn: explicitly program P2P QoS parameters
In P2P device mode, the device needs to have valid
QoS parameters. We currently have those because we
program parameters from any virtual interface into
all contexts, but not only do we want to get rid of
this -- it is also unpredictable since on the BSS
context we might have any parameters, and there it
might even be programmed for HT.
Explicitly program default QoS parameters into the
PAN context for P2P (the defaults are 11g but with
QoS disabled) to make device behaviour predictable.
This also helps when in a follow-up patch we will
use TX QoS parameters from mac80211 only for the
context they were meant for -- without this first
that would completely break P2P device discovery.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Thu, 10 Nov 2011 14:55:12 +0000 (06:55 -0800)]
iwlagn: use per-vif AC parameters
Eliad added the ability to configure AC parameters
per virtual interface; make use of this in iwlwifi
and set the parameters in the right context. Since
storage and uploading to the device is already per
context, this is sufficient.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Wey-Yi Guy [Thu, 10 Nov 2011 14:55:11 +0000 (06:55 -0800)]
iwlwifi: move all mac80211 related functions to one place
There are many mac80211 callback functions in the driver, as current
implementation, those functions are scatter everywhere which is very difficult
to find and maintain, move all the mac80211 callback functions into single
file. There should be no functional changes
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Don Fry [Thu, 10 Nov 2011 14:55:10 +0000 (06:55 -0800)]
iwlagn: move ucode files out of the iwl_priv structure
Relocate the ucode files and update relevant code.
More code refactoring.
Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Don Fry [Thu, 10 Nov 2011 14:55:09 +0000 (06:55 -0800)]
iwlagn: push knowledge of ucode image lower down
Move the knowledge of the ucode image to lower level routines. Also do
not pass the iwl_priv structure lower than it needs to be.
Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Don Fry [Thu, 10 Nov 2011 14:55:08 +0000 (06:55 -0800)]
iwlagn: remove knowledge of ucode image location from upper layers
The upper layers of the driver do not need to know where the ucode is
stored. It already passes in an enum of which ucode to load. Let the
lower layer routines select the ucode to load.
Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Don Fry [Thu, 10 Nov 2011 14:55:07 +0000 (06:55 -0800)]
iwlagn: move ucode_write_complete from priv to trans structure
ucode_write_complete is used for ucode loading. Move it as part of
restructuring work out of the priv structure.
Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Wey-Yi Guy [Thu, 10 Nov 2011 14:55:06 +0000 (06:55 -0800)]
iwlwifi: remove un-supported SKUs
BG only SKUs are no longer supported by 2000 and 1x5 series. Remove it
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Thu, 10 Nov 2011 14:55:05 +0000 (06:55 -0800)]
iwlagn: fix NULL ptr deref when reprogramming sta w/o LQ
Reinette reports a crash in iwl_reprogram_ap_sta(). The
debugging shows:
b1 16 mov $0x16,%cl
*f3 a5 rep movsl %ds <-- trapping instruction:(%rsi),%es:(%rdi)
which is a memcpy of 22 (0x16) words (movsl). this points
to "priv->stations[sta_id].lq" being NULL since that is
the memcpy() of that size here.
The only way I see for this to happen is if we try to
do some RXON reprogramming while connecting to an AP,
after tx_sync() but before full setup, but that seems
like something that might very well happen.
Fix this by checking if the LQ is present and only then
reprogramming it.
Reported-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Wey-Yi Guy [Thu, 10 Nov 2011 14:55:04 +0000 (06:55 -0800)]
iwlagn: check for SMPS mode
Check and report WARN only when its invalid
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Wey-Yi Guy [Thu, 10 Nov 2011 14:55:03 +0000 (06:55 -0800)]
iwlwifi: two more SKUs for 6x05 series
Add two more SKUs for 6x05 series of device.
First SKU has low 5GHz channels actives, the other SKU has high 5GHz channels actives.
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Todd Previte [Thu, 10 Nov 2011 14:55:02 +0000 (06:55 -0800)]
iwlwifi: Suppress noisy syslog messages when RF_KILL switch engaged
When a station is associated with an AP and the RF_KILL switch is engaged,
numerous error messages were sent to the system log. The error messages
were the result of the failure(s) of the various submodules to perform
their tasks after the radios were disabled.
To resolve this situation, the messages were modified to use a new macro,
IWL_DEBUG_QUIET_RFKILL. This macro allows for the RF_KILL error messages
to be sent to the log provided that IWL_DEBUG is true and IWL_DL_RADIO
is '1'. For all other cases, the error messages resulting from an RFKILL
event will not be sent to the system log. Messages logged because of an
RFKILL will be tagged with the prefix '(RFKILL)' to clarify the cause of
the error.
Signed-off-by: Todd Previte <toddX.a.previte@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Thu, 10 Nov 2011 14:55:01 +0000 (06:55 -0800)]
iwlagn: add P2P NoA to probe responses
Whether to use NoA or not is entire controlled
by the uCode right now, and it also adds the
attribute to beacons. We do need to add it to
probe responses in the driver though.
Keep track of the NoA notification from the
uCode and add the data to probe responses when
such are transmitted. Use RCU to manage the
lifetime.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Patrick Kelle [Thu, 10 Nov 2011 14:13:11 +0000 (15:13 +0100)]
minstrel: Remove unused function parameter in calc_rate_durations()
Signed-off-by: Patrick Kelle <patrick.kelle81@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rajkumar Manoharan [Thu, 10 Nov 2011 09:44:57 +0000 (15:14 +0530)]
ath9k_hw: Fix tx power settings for AR9003
Retriving tx power for 2x2 and 3x3 chainmask is not handled
properly. While calculating tx power for 2x2, 3 dBm was reduced
and for 3x3, 5 dBm was reduced which should be added back when
retriving.
Cc: Paul Stewart <pstew@google.com>
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Arik Nemtsov [Thu, 10 Nov 2011 09:28:57 +0000 (11:28 +0200)]
mac80211: Save probe response data for bss
Allow setting a probe response template for an interface operating in
AP mode. Low level drivers are notified about changes in the probe
response template and are able to retrieve a copy of the current probe
response. This data can, for example, be uploaded to hardware as a
template.
Signed-off-by: Guy Eilam <guy@wizery.com>
Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Arik Nemtsov [Thu, 10 Nov 2011 09:28:56 +0000 (11:28 +0200)]
nl80211: Pass probe response data to drivers
Pass probe-response data from usermode via beacon parameters.
Signed-off-by: Guy Eilam <guy@wizery.com>
Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Arik Nemtsov [Thu, 10 Nov 2011 09:28:55 +0000 (11:28 +0200)]
nl80211: Add probe response offload attribute
Notify user-space about probe-response offloading support in the driver.
A wiphy flag is used to indicate support and a bitmap of protocols
determines which protocols are supported.
Signed-off-by: Guy Eilam <guy@wizery.com>
Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Thu, 10 Nov 2011 08:44:46 +0000 (09:44 +0100)]
nl80211: fix compiler warning
John reported the following warning:
net/wireless/nl80211.c: In function ‘nl80211_tx_mgmt’:
net/wireless/nl80211.c:5286:8: warning: ‘hdr’ may be used uninitialized in this function
Evidently, his version of gcc isn't able to see that
when "msg" is initialized, "hdr" must also be. My
gcc, 4.6.1, can actually see that and doesn't warn.
Simply initialize the variable to NULL. That means
if the compiler was ever right we'll crash though so
isn't really optimal since it may hide warnings from
the compiler when somebody modifies this code in the
future.
Reported-by: John Linville <linville@tuxdriver.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Arik Nemtsov [Thu, 10 Nov 2011 07:35:13 +0000 (09:35 +0200)]
mac80211: make sure hw_key exists before checking its flags
Fixes a bug introduced in:
commit
077a9154898b374f20555adc3f620cccd02581d6
Author: Arik Nemtsov <arik@wizery.com>
Date: Sun Oct 23 08:21:41 2011 +0200
Reported-by: Arend van Spriel <arend@broadcom.com>
Reported-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Daniel Kuehn [Wed, 9 Nov 2011 22:57:57 +0000 (23:57 +0100)]
ath9k: set ATH9K_PCI to y by default
Most ath9k devices are PCI/PCIe based, therefor making PCI/PCIe support
default y helps those porting a config from 2.6 kernel series
from getting "non-functional" wireless drivers with 3.x kernel series.
Signed-off-by: Daniel Kuehn <daniel@kuehn.se>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Wed, 9 Nov 2011 20:33:45 +0000 (21:33 +0100)]
wireless: move ieee80211chan2mhz macro
The macro is only used in ipw2200 and we certainly
don't want to encourage its use, so move it out of
the radiotap header file and into the driver.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Eyal Shapira [Wed, 9 Nov 2011 10:29:06 +0000 (12:29 +0200)]
mac80211: add recalc PS in ieee80211_reconfig()
Driver should be instructed to enter PS AFTER
reconfiguring ASSOCIATED (in STA case) using ieee80211_bss_info_change_notify
same as it's being done in ieee80211_set_associated()
Signed-off-by: Eyal Shapira <eyal@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ilan Elias [Wed, 9 Nov 2011 10:09:16 +0000 (12:09 +0200)]
NFC: Check if NCI data flow control is used
Check if NCI data flow control is used in nci_tx_work.
Signed-off-by: Ilan Elias <ilane@ti.com>
Acked-by: Lauro Ramos Venancio <lauro.venancio@openbossa.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ilan Elias [Wed, 9 Nov 2011 10:09:15 +0000 (12:09 +0200)]
NFC: Removal of unused operations for NCI spec 1.0 d18
Remove unused NCI operations, e.g. create static rf connection.
Signed-off-by: Ilan Elias <ilane@ti.com>
Acked-by: Lauro Ramos Venancio <lauro.venancio@openbossa.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ilan Elias [Wed, 9 Nov 2011 10:09:14 +0000 (12:09 +0200)]
NFC: Update names and structs to NCI spec 1.0 d18
Addition, deletion and modification of NCI constants.
Changes in NCI commands, responses and notifications structures.
Signed-off-by: Ilan Elias <ilane@ti.com>
Acked-by: Lauro Ramos Venancio <lauro.venancio@openbossa.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Wed, 9 Nov 2011 09:30:21 +0000 (10:30 +0100)]
mac80211/cfg80211: report monitor channel in wireless extensions
Just add API to get the channel & report it. Trivial really.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Tue, 8 Nov 2011 15:21:21 +0000 (16:21 +0100)]
mac80211: simplify scan state machine
Attempting to micro-optimise the scan by going
fully live again when scanning the operating
channel just made the code extremely complex
and has little gain in most use cases. Remove
all that code and simplify the state machine
again.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Eliad Peller [Tue, 8 Nov 2011 13:36:59 +0000 (15:36 +0200)]
mac80211: set carrier_on for ibss vifs only while joined
mac80211 should set carrier_on for ibss vifs
only while they are joined (similar to sta vifs)
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rajkumar Manoharan [Tue, 8 Nov 2011 08:49:34 +0000 (14:19 +0530)]
ath9k_hw: Fix channel list of CalFreqPeir for AR938x
This patch sync up CalFreqPeir channel list and paprd rate mask
of AR938x templates to the latest received from Systems team.
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rajkumar Manoharan [Tue, 8 Nov 2011 08:49:33 +0000 (14:19 +0530)]
ath9k_hw: Read and configure xpa timing field
Configure xpa timing field while loading boad defaults to
fix 11b CCK spur issue that was observed in EMI testing.
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rajkumar Manoharan [Tue, 8 Nov 2011 08:49:32 +0000 (14:19 +0530)]
ath9k_hw: Read and configure quick drop for AR9003
Read and configure quick drop feild from AR9003 eeprom
inorder to help with strong signal. This patch also removes
obsolate parameters ob, db_stage2, db_stage_3, db_stage4
from the eeprom templates.
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Amitkumar Karwar [Tue, 8 Nov 2011 05:41:12 +0000 (21:41 -0800)]
mwifiex: release bss structure returned by cfg80211_inform_bss()
Following compilation warning is fixed by releasing referenced BSS
structure returned by cfg80211_inform_bss().
"warning: ignoring return value of cfg80211_inform_bss,
declared with attribute warn_unused_result"
Cc: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Amitkumar Karwar [Tue, 8 Nov 2011 05:41:11 +0000 (21:41 -0800)]
mwifiex: remove unnecessary free_priv handler
Cfg80211 stack allocates private area for driver use in
struct cfg80211_bss. It will be freed by stack in bss_release().
Driver don't need to worry about it.
In mwifiex driver, we use the private area just to store band
information(u8). We don't allocate memory explicitly and store
it's pointer in bss->priv. Hence we don't have any cleanup work
to do in free_priv handler. Currently we try to free the allocated
private area in free_priv handler which is not correct.
This patch removes unnecessary free_priv handler.
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Yogesh Ashok Powar [Tue, 8 Nov 2011 05:41:10 +0000 (21:41 -0800)]
mwifiex: fix 'Smatch' warnings
Following three warnings are fixed:
>init.c +256 mwifiex_init_adapter(71)
>warn: variable dereferenced before check 'adapter->sleep_cfm'
>(see line 191)
>sta_rx.c +193 mwifiex_process_sta_rx_packet(75)
>warn: variable dereferenced before check 'priv' (see line 182)
Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Yogesh Ashok Powar [Tue, 8 Nov 2011 05:41:09 +0000 (21:41 -0800)]
mwifiex: fix coding style
Rename DataRate to data_rate and arrange 'for' loop
for better readability.
Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Yogesh Ashok Powar [Tue, 8 Nov 2011 05:41:08 +0000 (21:41 -0800)]
mwifiex: change return types to void
Functions mwifiex_11n_dispatch_pkt_until_start_win and
mwifiex_11n_scan_and_dispatch used to always return value
zero for all inputs. Changing these functions to void.
Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Yogesh Ashok Powar [Tue, 8 Nov 2011 05:41:07 +0000 (21:41 -0800)]
mwifiex: use existing helper function mwifiex_fill_cap_info
Use existing helper function mwifiex_fill_cap_info to fill
the HT CAP info for ibss beacons.
Also removing extra parenthesis block for better readability.
Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Yogesh Ashok Powar [Tue, 8 Nov 2011 05:41:06 +0000 (21:41 -0800)]
mwifiex: fix ht_cap_info in ibss beacons
A local variable is used to calculate ht_cap_info.
Erroneously ht_cap.cap_info isn't updated in the ibss beacons
after the calculation. This patch fixes it.
Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com>
Signed-off-by: Kiran Divekar <dkiran@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Arik Nemtsov [Mon, 7 Nov 2011 21:24:39 +0000 (23:24 +0200)]
mac80211: init rate-control for TDLS sta when supp-rates are known
Initialize rate control algorithms only when supported rates are known
for a TDLS peer sta. Direct Tx between peers is not allowed before the
link is enabled. In turn, this only occurs after a change_station()
call that sets supported rates.
Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Dmitry Tarnyagin [Fri, 4 Nov 2011 16:12:07 +0000 (17:12 +0100)]
cfg80211: merge in beacon ies of hidden bss.
The problem with PSM when a hidden SSID was used was originally
reported by Juuso Oikarinen.
- When generally scanning, the AP is getting a bss entry with
a zero SSID.
- When associating, a probe-req is sent to the AP with the SSID,
and as a result a probe-response is received with the hidden
SSID in place. As a consequence, a second bss entry is created
for the AP, now with the real SSID.
- After association, mac80211 executes ieee80211_recalc_ps(),
but does not switch to powersave because the beacon-ies are missing.
As result, the STA does not ever enter PSM.
The patch merges in beacon ies of hidden bss from beacon to the probe
response, creating a consistent set of ies in place.
Patch is depended on "cfg80211: fix cmp_ies" made by Johannes.
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Vasanthakumar Thiagarajan [Fri, 4 Nov 2011 13:04:55 +0000 (18:34 +0530)]
ath6kl: Fix error in writing create_qos debugfs
100 bytes are allocated to store the parameters which are needed
to create a priority stream. These 100 bytes are not sufficiant and
throws error when running the following command.
echo "6 2 3 1 1
9999999 9999999 9999999 7777777 0 6 45000 200
56789000
56789000 5678900 0 0
9999999 20000 0" > create_qos
179 bytes are needed when the following vlaues are given so that
a maximum possible value in that data type can be given in decimal.
echo "255 255 255 255 255
4294967295 4294967295 4294967295 4294967295
4294967295 255 65535 65535
4294967295 4294967295 4294967295 4294967295
4294967295 4294967295 4294967295 4294967295" > create_qos
Following takes 187 bytes when given in hex
echo "0xff 0xff 0xff 0xff 0xff 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff
0xff 0xffff 0xffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff
0xffffffff 0xffffffff" > create_qos
Increase the size to 200 bytes so that it can hold upto the maximum
value possible for that data type.
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Vasanthakumar Thiagarajan [Fri, 4 Nov 2011 10:18:51 +0000 (15:48 +0530)]
ath6kl: Fix tx packet drop in AP mode with bridge
skb is dropped in ath6kl_data_tx() when the headroom in skb
is insufficient. We hit this condition for every skb in AP mode
which is used with bridge, so all tx packets are getting dropped
when tried to send traffic to wireless client from bridge. Fix
this by reallocating the headroom instead of dropping the skb
when it has lesser headroom than needed.
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Raja Mani [Mon, 7 Nov 2011 20:52:47 +0000 (22:52 +0200)]
ath6kl: Remove few unused WMI stuff
* Removed unused WOW_MAX_FILTER_LISTS macro.
* Removed empty ath6kl_wmi_get_wow_list_event_rx() function.
List of configured WOW patterns are maintained in CFG layer
itself. No need to have this function in ath6kl to get
configured WOW pattern list. It can added later if we need
it for debugging.
Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Raja Mani [Mon, 7 Nov 2011 20:52:46 +0000 (22:52 +0200)]
ath6kl: Expose ath6kl's WOW capabilities to cfg80211
Set the list of ath6kl's WOW trigger options in wiphy->wowlan.flags
variable during wiphy registration. So that, those options can be
configured via iw.
Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Raja Mani [Mon, 7 Nov 2011 20:52:46 +0000 (22:52 +0200)]
ath6kl: Remove WARN_ON msg in Suspend path
In the current code, WOW resume is executed first from RX path
and ar->state is moved to ATH6KL_STATE_ON. When platform calls
ath6kl_sdio_resume() in CFG resume context, that time ar->state
could have moved to ON state. Printing WARN_ON(1) is void in
this context. Hence removing this.
Once WOW resume is removed from RX path, This WARN_ON msg can be
reverted.
Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Raja Mani [Mon, 7 Nov 2011 20:52:46 +0000 (22:52 +0200)]
ath6kl: Perform WOW resume in RX path in case of SDIO IRQ wake up
The target triggers sdio data line to wake up the host when
WOW pattern matches. This causes sdio irq handler is being
executed in the host side which internally hits ath6kl's RX path.
WOW resume should happen before start processing any data from
the target. So it's required to perform WOW resume in RX path.
This area needs bit rework to avoid WOW resume in RX path,
As of now it's fine to have this model, rework will be done later.
Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Raja Mani [Mon, 7 Nov 2011 20:52:46 +0000 (22:52 +0200)]
ath6kl: Invoke WOW suspend/resume calls during PM operation
Link ath6kl's wow suspend/resume functions with the actual suspend/resume path.
WOW mode is selected when the host sdio controller supports both
MMC_PM_KEEP_POWER and MMC_PM_WAKE_SDIO_IRQ capabilities.
kvalo: also adds a missing break in ath6kl_cfg80211_resume(), luckily
it didn't have any effect on functionality.
Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Raja Mani [Mon, 7 Nov 2011 20:52:46 +0000 (22:52 +0200)]
ath6kl: Move ath6kl_cfg80211_stop() call specific to deep sleep and cut pwr
ath6kl_cfg80211_stop() call is not applicable for WOW mode. Hence moving
this call to deep sleep and cut pwr specific cases.
Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Raja Mani [Mon, 7 Nov 2011 20:52:45 +0000 (22:52 +0200)]
ath6kl: Add new state for WOW mode
In addition to existing deep sleep and cut pwr mode, new state
is added in ath6kl_cfg_suspend_mode as well as in ath6kl_state for WOW.
Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Raja Mani [Mon, 7 Nov 2011 20:52:45 +0000 (22:52 +0200)]
ath6kl: Include new parameter in suspend path for wowlan
cfg80211 layer provides user defined wow parameters like Filter options, Patterns,
Pattern's mask, etc via "struct cfg80211_wowlan *wow" to suspend function.
Right now, this wowlan parameter is not handled in __ath6kl_cfg80211_suspend func.
This parameter has to be passed to HIF layer, So that it can be passed back to
ath6kl's cfg interface layer when WOW mode is selected.
In case of deep sleep and cut power mode, it's not handled.
Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Raja Mani [Mon, 7 Nov 2011 20:52:45 +0000 (22:52 +0200)]
ath6kl: Add WOW suspend/resume implementation
This is the core WOW suspend/resume functions will be called
in PM suspend/resume path.
Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Raja Mani [Mon, 7 Nov 2011 20:52:45 +0000 (22:52 +0200)]
ath6kl: Add wmi functions to configure WOW mode and host sleep mode
It will be used in WOW suspend/resume functions to
active/deactivate WOW suspend mode.
Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This page took 0.044967 seconds and 5 git commands to generate.