Commit graph

7436 commits

Author SHA1 Message Date
Daniel Halperin
e3a3cd8789 iwlwifi: set AMPDU status variables correctly
The TX status code is currently abusing the ampdu_ack_map field (a bitmap) to
count the number of successfully received frames.  The comments in mac80211.h
show there are actually three different, relevant variables, of which we are
currently using two, both incorrectly. Fix this by making

- ampdu_ack_len -> the number of ACKed frames (i.e. successes)
- ampdu_ack_map -> the bitmap
- ampdu_len -> the total number of frames sent (i.e., attempts)

to match the header file (and verified with ath9k's usage) and updating Intel's
RS code to match.

Signed-off-by: Daniel Halperin <dhalperi@cs.washington.edu>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-04-30 15:34:31 -07:00
Abhijeet Kolekar
17f36fc6ef iwl3945: add ucode statistics
Add general, rx and tx uCode statistics to 3945. This will help
in debugging

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-04-30 15:34:31 -07:00
Shanyu Zhao
c2845d010b iwlwifi: set correct AC to swq_id for aggregation
When starting an aggregation session, the swq_id is generated in function
iwl_virtual_agg_queue_num() where the first parameter is supposed to be
the Access Class, but it used the tx fifo ID instead. This means the AC
value stored in swq_id is incorrect. To test this, look at the tx_queue
file in debugfs while transmitting Best Effort flow (ac=2), it shows:
hwq 10: read=0 write=0 stop=0 swq_id=0xa9 (ac 1/hwq 10)
After this fix, it will show:
hwq 10: read=0 write=0 stop=0 swq_id=0xaa (ac 2/hwq 10)

Signed-off-by: Shanyu Zhao <shanyu.zhao@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-04-30 15:34:31 -07:00
Abhijeet Kolekar
cd398c3137 iwlwifi: reset pci retry timeout
We removed resetting of PCI_RETRY_TIMEOUT register
in merge of suspend resume work.
'Suspend and resume' resets the PCI configuration space, so we
have to disable the RETRY_TIMEOUT register again here.

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-04-30 15:34:30 -07:00
Wey-Yi Guy
f001b30049 iwlwifi: remove outdated comments
IEEE80211_CONF_SHORT_SLOT_TIME is no longer a possible setting in
ieee80211_conf->flags

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-04-30 15:34:30 -07:00
Wey-Yi Guy
399dcb8a36 iwlwifi: remove get_stats callback function
The low level transmission function is performed at uCode layer
for all the "agn" NICs, there is no statistics information available
for mac80211 get_stats() call. Remove the callback function to
avoid misleading information that returned success when indeed it is not
supported. Now return "not supported".

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-04-30 15:34:29 -07:00
Reinette Chatre
ad41ee3a45 Merge branch 'wireless-2.6' into wireless-next-2.6
Patch "iwlwifi: work around passive scan issue" was merged into
wireless-2.6, but touched a lot of code since modified (and moved)
in wireless-next-2.6. This caused some conflicts.

Conflicts:
	drivers/net/wireless/iwlwifi/iwl-scan.c

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-04-30 15:13:00 -07:00
Johannes Berg
96ff564195 iwlwifi: work around passive scan issue
Some firmware versions don't behave properly when
passive scanning is requested on radar channels
without enabling active scanning on receiving a
good frame. Work around that issue by asking the
firmware to only enable the active scanning after
receiving a huge number of good frames, a number
that can never be reached during our dwell time.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-04-30 15:03:51 -07:00
John W. Linville
edfcba15bd libertas_tf: avoid warning about pr_fmt redefinition
Also includes a minor cleanup regarding quotation of a standard kernel
header file...

Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-30 14:38:28 -04:00
John W. Linville
d989ff7cf8 rtl8180: fix tx status reporting
When reporting Tx status, indicate that only one rate was used.
Otherwise, the rate is frozen at rate index 0 (i.e. 1Mb/s).

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Cc: stable@kernel.org
2010-04-30 14:28:09 -04:00
Dan Carpenter
f7f7cc47fc iwl: cleanup: remove unneeded error handling
This is just a cleanup and doesn't change how the code works.

debugfs_create_dir() and debugfs_create_file() return an error pointer
(-ENODEV) if CONFIG_DEBUG_FS is not enabled, otherwise if an error occurs
they return NULL.  This is how they are implemented and what it says in
the DebugFS documentation.  DebugFS can not be compiled as a module.

As a result, we only need to check for error pointers and particularly
-ENODEV one time to know that DebugFS is enabled.  This patch keeps the
first check for error pointers and removes the rest.

The other reason for this patch, is that it silences some Smatch warnings.
Smatch sees the condition "(result != -ENODEV)" and assumes that it's
possible for "result" to equal -ENODEV.  If it were possible it would lead
to an error pointer dereference.  But since it's not, we can just remove
the check.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-28 16:50:28 -04:00
Helmut Schaa
baff8006b5 rt2x00: rt2800lib: update rfcsr & bbp init code for SoC devices
Update the rfcsr and bbp init code for SoC devices to match with the
latest Ralink driver.

To have better control over which values are used for the register
initialization create a new function rt2800_is_305x_soc which checks
for SoC interface type, the correct RT chipset and the correct RF
chipset. This is based on the assumption that all rt305x SoC devices
use a rt2872 and rf3020/rf3021/rf3022.

In case an unknown RF chipset is found on a SoC device with a rt2872
don't treat it as rt305x and just print a message.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-28 16:50:27 -04:00
Luciano Coelho
23a7a51c5a wl1271: fix a bunch of sparse warnings
A couple of sparse warnings in some rate settings (missing cpu_to_le32) were
fixed.  Changed the conf_sg_settings struct from le to native endianess.  The
values are converted to le when copying them to the acx command instead.

Reported-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Reviewed-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-28 16:50:27 -04:00
Juuso Oikarinen
82429d32ca wl1271: Rewrite hardware keep-alive handling
The driver had a join command without keep-alive restart procedures in the
channel changing code. After associated scans, the mac80211 does re-set the
current channel, causing the join to occur. This would stop the hardware
keep alive.

To make the joins safer in this respect, this patch adds a join function that
does the hardware-keep-alive magic along the join. This is now invoked in the
above mentioned scenario, and also other scenarios.

Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: Teemu Paasikivi <ext-teemu.3.paasikivi@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-28 16:50:26 -04:00
Saravanan Dhanabal
141418c7ed wl1271: Configure QOS nullfunc template for U-APSD
When U-APSD is enabled, device is not sending power save
state notifications to AP using QOS nullfunc frames.

This patch configures nullfunc templates needed for U-APSD.

Signed-off-by: Saravanan Dhanabal <ext-saravanan.dhanabal@nokia.com>
Reviewed-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-28 16:50:26 -04:00
Juuso Oikarinen
16092b5ccc wl1271: Improve command polling
In testing I noticed that the wl1271 commands fall into two categories. In the
first category are "fast" commands, these mostly take only 0 or 1 polls to
complete, but occasionally upto 50 (giving a 0.5ms execution time.) In the
second category, the command completion takes well more than 0.5ms (from
1.5ms upwards.)

This patch fixes command polling such that it is optimal for the fast commands,
but also allows sleep for the longer ones.

Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-28 16:50:25 -04:00
Benoit Papillault
62dad5b0be ath9k: Added get_survey callback in order to get channel noise
Signed-off-by: Benoit Papillault <benoit.papillault@free.fr>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-28 16:50:25 -04:00
John W. Linville
d10e2e02f5 rtl8180: use cached queue mapping for skb in rtl8180_tx
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-28 16:50:24 -04:00
Dan Williams
ca962557c2 libertas: fix 8686 firmware loading regression
The 'ready' condition was incorrectly evaluated which sometimes lead to
failures loading the second-stage firmware on 8686 devices.

(This was introduced in "libertas: consolidate SDIO firmware wait code".
-- JWL)

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-28 16:49:23 -04:00
John W. Linville
446cfaa412 wl1251: remove usage of deprecated noise value
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-28 16:48:22 -04:00
John W. Linville
6ca4fed3d4 rt2x00: remove usage of deprecated noise value
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
2010-04-28 16:48:22 -04:00
John W. Linville
0cbb3b5e8e p54: remove usage of deprecated noise value
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-28 16:48:22 -04:00
John W. Linville
699622a7b5 libertas_tf: remove usage of deprecated noise value
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-28 16:48:21 -04:00
John W. Linville
83beaacc2a b43legacy: remove usage of deprecated noise value
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-28 16:48:21 -04:00
John W. Linville
4a277dd8da b43: remove usage of deprecated noise value
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-28 16:48:21 -04:00
John W. Linville
32a0a33f19 ath9k: remove usage of deprecated noise value
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-28 16:48:21 -04:00
John W. Linville
54c7c91e65 ath5k: remove usage of deprecated noise value
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-28 16:48:20 -04:00
John W. Linville
5d6566ff35 ar9170: remove usage of deprecated noise value
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-28 16:48:20 -04:00
John W. Linville
3377d1b903 mwl8k: remove usage of deprecated noise value
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-28 16:48:19 -04:00
Johannes Berg
a060bbfe4e mac80211: give virtual interface to hw_scan
When scanning, it is somewhat important to scan
on the correct virtual interface. All drivers
that currently implement hw_scan only support a
single virtual interface, but that may change
and then we'd want to be ready.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-27 16:09:23 -04:00
Vivek Natarajan
3a37495268 ath9k: Avoid corrupt frames being forwarded to mac80211.
If bit 29 is set, MAC H/W can attempt to decrypt the received aggregate
with WEP or TKIP, eventhough the received frame may be a CRC failed
corrupted frame. If this bit is set, H/W obeys key type in keycache.
If it is not set and if the key type in keycache is neither open nor
AES, H/W forces key type to be open.  But bit 29 should be set to 1
for AsyncFIFO feature to encrypt/decrypt the aggregate with WEP or TKIP.

Cc: stable@kernel.org
Reported-by: Johan Hovold <johan.hovold@lundinova.se>
Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
Signed-off-by: Ranga Rao Ravuri <ranga.ravuri@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-27 16:09:22 -04:00
Vivek Natarajan
8a8572a821 ath9k_htc: Handle CONF_IDLE during unassociated state to save power.
Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-27 16:09:21 -04:00
Luis R. Rodriguez
5bea40069e ath9k_hw: Fix TX interrupt mitigation settings
TX interrupt mitigation reduces the number of interrupts
by addressing several interrupt actions (AR_IMR_TXOK,
AR_IMR_TXDESC) all in one interrupt so when enabling
it discard setting the other interrupts.

Without this TX interrupt mitigation would actually
increase the number of interrupts two-fold. We still
leave TX interrupt mitigation disabled as it is still
being tested.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-27 16:09:20 -04:00
Felix Fietkau
5d5d44d914 ath9k_hw: fix noisefloor timeout handling on AR9003
When the noisefloor calibration times out, do not load -50 into
the registers, since this might cause rx issues. Instead, leave
enough time for the noise floor calibration to complete until
the next check.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-27 16:09:20 -04:00
Felix Fietkau
0cf31079e9 ath9k_hw: Fix endian bug in an AR9003 EEPROM field
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-27 16:09:20 -04:00
Felix Fietkau
d10baf99ff ath9k_hw: Fix typos in tx rate power level parsing for AR9003
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-27 16:09:18 -04:00
Felix Fietkau
597a94b340 ath9k_hw: use the configured power limit for AR9003
Since the new AR9003 EEPROM code does tune the card for the configured
tx power level, we need to fill in the correct power limits in the TPC
part of the DMA descriptor.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-27 16:09:18 -04:00
Felix Fietkau
7f9f360069 ath9k: wake queue after processing edma rx frames
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-27 16:09:18 -04:00
Felix Fietkau
6b42e8d03b ath9k_hw: fix fast clock handling for 5GHz channels
Combine multiple checks that were supposed to check for the same
conditions, but didn't. Always enable fast PLL clock on AR9280 2.0

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-27 16:09:18 -04:00
Felix Fietkau
5b75d0fca5 ath9k_hw: update EEPROM data structure for AR9280
Adds read access for the 5 GHz fast clock flag

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-27 16:09:17 -04:00
Vasanthakumar Thiagarajan
e55537240f ath9k_hw: Fix usec to hw clock conversion in 5Ghz for ar9003
Fast clock operation (44Mhz) is enabled for 5Ghz in ar9003, so
take care of the conversion from usec to hw clock.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-27 16:09:17 -04:00
Luis R. Rodriguez
b360a88483 ath9k_hw: disable TX IQ calibration for AR9003
Disable TX IQ calibration, it was prematurely enabled in
previous versions.

Cc: Paul Shaw <Paul.Shaw@Atheros.com>
Cc: Thomas Hammel <Thomas.Hammel@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-27 16:09:17 -04:00
Felix Fietkau
8393722765 ath9k_hw: fix typo in the AR9003 EEPROM data structure definition
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-27 16:09:17 -04:00
Felix Fietkau
14bc110463 ath9k_hw: fix pll clock setting for 5ghz on AR9003
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-27 16:09:16 -04:00
Felix Fietkau
2fcb913173 ath9k_hw: update initvals for AR9003
This synchs up the initvals to the values used on the
Atheros HAL for AR9003. This specific change adds support
for a new high power module.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-27 16:09:16 -04:00
Sujith
4f824719a2 ath9k_htc: Simplify RX IRQ handler
A bunch of validation and processing in the RX IRQ handler
can be moved to the RX tasklet. The IRQ handler is
already heavy, with the memory allocation for handling
stream mode. Also, a memcpy of 40 bytes for every packet
can be avoided in the handler.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-27 16:09:15 -04:00
Sujith
d439260e04 ath9k_htc: Validate TX Endpoint ID
Check for the endpoint IDs when processing
TX completions and drop the unsupported EPIDs.

We can add other endpoints (UAPSD,..) when support
is added.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-27 16:09:15 -04:00
Sujith
5bf1e17a4a ath9k_htc: Remove unnecessary powersave restore
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-27 16:09:15 -04:00
Steve deRosier
e9bd5bcde7 libertastf: add configurable debug messages
Add the same type of configurable debug messages to libertas_tf as
already exist in the libertas driver.  This has facilitated creation
of a interface specification and will facilitate future development
of this driver.

Signed-off-by: Steve deRosier <steve@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-26 14:21:26 -04:00
Helmut Schaa
9a8b424ea8 rt2x00: rt2800lib: Remove redundant check for RT2872
Remove redundant check for RT2872.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-26 14:21:25 -04:00