Commit Graph

269686 Commits

Author SHA1 Message Date
Stanislaw Gruszka
841b2ccac3 iwlegacy: rename il_{read,write}32 to _il_{rd,wr}
Introduce rule that underscore at the beginning mean unlocked I/O method.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
2011-11-15 11:22:15 +01:00
Stanislaw Gruszka
b6297cd2aa iwlegacy: remove IL_CRIT
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
2011-11-15 11:22:02 +01:00
Stanislaw Gruszka
9406f79775 iwlegacy: remove il argument from IWL_ERR/INFO/WARN/CRIT
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
2011-11-15 11:21:47 +01:00
Stanislaw Gruszka
58de00a464 iwlegacy: rename IL_DEBUG_ to D_
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
2011-11-15 11:21:01 +01:00
Stanislaw Gruszka
2d27c5dbd6 iwlegacy: remove DEBUG_LIMIT
Even if messages are generating fast we want to see all of them
when debugging.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
2011-11-15 11:17:10 +01:00
Stanislaw Gruszka
46f16c492e iwlegacy: remove DEBUG_IO
Nothing useful at present.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
2011-11-15 11:17:07 +01:00
Stanislaw Gruszka
d2ddf621aa iwlegacy: rename iwlegacy to il
More renaming to make code shorter.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
2011-11-15 11:17:04 +01:00
Stanislaw Gruszka
46bc8d4b0e iwlegacy: rename priv to il
Make code shorter.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
2011-11-15 11:17:00 +01:00
Stanislaw Gruszka
e2ebc8337d iwlegacy: rename iwl to il
iwl_legacy prefix result in long function names, what cause that we
have frequent line split and not readable code. Also iwl_foo symbols
are duplicated in iwlwifi driver, what is annoying when editing
kernel tree with cscope.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
2011-11-15 11:16:58 +01:00
Stanislaw Gruszka
fee005e5dd iwlegacy: remove tracing
This is not useful.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
2011-11-15 11:16:55 +01:00
Johannes Berg
b4487c2d0e 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>
2011-11-11 14:29:35 -05:00
John W. Linville
731f8e1c41 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>
2011-11-11 14:28:49 -05:00
John W. Linville
6d377cdbe3 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>
2011-11-11 14:28:48 -05:00
Franky Lin
e78946e198 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>
2011-11-11 14:28:47 -05:00
Franky Lin
99b72cde63 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>
2011-11-11 14:28:45 -05:00
Arend van Spriel
046808daf9 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>
2011-11-11 14:28:44 -05:00
Arend van Spriel
53ee4bc467 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>
2011-11-11 14:28:43 -05:00
Arend van Spriel
9a95e60e06 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>
2011-11-11 14:28:42 -05:00
Alwin Beukers
02a588a2e3 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>
2011-11-11 14:28:41 -05:00
Arend van Spriel
ad3b8b3918 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>
2011-11-11 14:28:40 -05:00
Arend van Spriel
ad4d71f69e 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>
2011-11-11 14:28:39 -05:00
Franky Lin
122d36fd5a 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>
2011-11-11 14:28:38 -05:00
Franky Lin
d77e70ff5a 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>
2011-11-11 14:28:37 -05:00
Franky Lin
086a2e0a63 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>
2011-11-11 14:28:35 -05:00
Franky Lin
523894f267 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>
2011-11-11 14:28:34 -05:00
Franky Lin
6ca687d946 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>
2011-11-11 14:28:33 -05:00
Alwin Beukers
e9ca530a7b 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>
2011-11-11 14:28:32 -05:00
Arend van Spriel
a0f24c8a93 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>
2011-11-11 14:28:31 -05:00
Arend van Spriel
b7eec4233c 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>
2011-11-11 14:28:29 -05:00
Arend van Spriel
bfd8284b65 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>
2011-11-11 14:28:28 -05:00
Arend van Spriel
9752915e3e brcm80211: smac: fix endianess issue for OTP memory access
This fixes issue when using OTP memory. It was introduced by
following commit:

commit 028f78d43d
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>
2011-11-11 14:28:27 -05:00
Don Fry
97b52cfd1a 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>
2011-11-11 12:32:56 -05:00
Don Fry
1431b2166a 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>
2011-11-11 12:32:56 -05:00
Venkataraman, Meenakshi
383b0874ab 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>
2011-11-11 12:32:56 -05:00
Emmanuel Grumbach
81a3de1ce2 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>
2011-11-11 12:32:56 -05:00
Emmanuel Grumbach
0dcf50ca4e 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>
2011-11-11 12:32:56 -05:00
Johannes Berg
eb32043f43 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>
2011-11-11 12:32:55 -05:00
Johannes Berg
3ddf6befb9 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>
2011-11-11 12:32:55 -05:00
Emmanuel Grumbach
9cac4943aa 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>
2011-11-11 12:32:55 -05:00
Wey-Yi Guy
94b3c45c7b 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>
2011-11-11 12:32:55 -05:00
Wey-Yi Guy
89db3b972c 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>
2011-11-11 12:32:55 -05:00
Wey-Yi Guy
023ca58f1d 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>
2011-11-11 12:32:54 -05:00
Wey-Yi Guy
76b2933111 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>
2011-11-11 12:32:54 -05:00
Wey-Yi Guy
ba4c531984 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>
2011-11-11 12:32:54 -05:00
Wey-Yi Guy
0b7a4c788f 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>
2011-11-11 12:32:54 -05:00
Johannes Berg
a69cd040d0 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>
2011-11-11 12:32:54 -05:00
Johannes Berg
df912e5119 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>
2011-11-11 12:32:54 -05:00
Wey-Yi Guy
7335613ae2 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>
2011-11-11 12:32:53 -05:00
Don Fry
de7f5f92db 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>
2011-11-11 12:32:53 -05:00
Don Fry
baa0005663 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>
2011-11-11 12:32:53 -05:00