platform/kernel/linux-exynos.git
13 years agoath6kl: fix crash when interface is closed but scan is ongoing
Kalle Valo [Thu, 21 Jul 2011 07:22:50 +0000 (10:22 +0300)]
ath6kl: fix crash when interface is closed but scan is ongoing

When ath6kl module was removed while a scan was ongoing the driver would
crash in ath6kl_cfg80211_scan_complete_event().

Fix the function not to iterate nodes when the scan is aborted. The nodes
are already freed when the module is being unloaded. This patch removes the
null check entirely as the wmi structure is not accessed anymore during
module unload.

Also fix a bug where the status was checked as a bitfield with '&' operator.
But it's not a bitfield, just a regular error code.

This is a port of my patch from ath6kl staging with the same title.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: fix atomicity in ath6kl_cfg80211_scan_node()
Kalle Valo [Thu, 21 Jul 2011 07:04:54 +0000 (10:04 +0300)]
ath6kl: fix atomicity in ath6kl_cfg80211_scan_node()

ath6kl_cfg80211_scan_node() was calling cfg80211_inform_bss_frame()
with CFP_KERNEL but the function is executed with a spin lock taken.
This is wrong and the function must use GFP_ATOMIC instead.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: don't force foreground scan when connected
Kalle Valo [Thu, 21 Jul 2011 06:40:00 +0000 (09:40 +0300)]
ath6kl: don't force foreground scan when connected

In my setup data transfer stalls when there's data transmission during
scan. After some testing I found out that using background scan
when connected to makes the problem go away. This is more like
a workaround than a proper fix, but as the stall is so severe the
workaround is justified.

With a dual band card this increases scan time when connected from
1.9s to 4.4s. When not connected the scan time is not affected and
is the same 1.9s.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Use bit field macros to maintain wlan enabled and disabled status
Raja Mani [Tue, 19 Jul 2011 13:57:33 +0000 (19:27 +0530)]
ath6kl: Use bit field macros to maintain wlan enabled and disabled status

Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Avoid two memset to clear src and desr mac addr variable memory in ath6kl_wmi...
Raja Mani [Tue, 19 Jul 2011 13:57:32 +0000 (19:27 +0530)]
ath6kl: Avoid two memset to clear src and desr mac addr variable memory in ath6kl_wmi_dot11_hdr_remove()

Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Rearrange the variable and the value position in IF condition
Raja Mani [Tue, 19 Jul 2011 13:57:31 +0000 (19:27 +0530)]
ath6kl: Rearrange the variable and the value position in IF condition

Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Print bad trailer data only when htc fails to parse trailer info
Raja Mani [Tue, 19 Jul 2011 13:57:30 +0000 (19:27 +0530)]
ath6kl: Print bad trailer data only when htc fails to parse trailer info

Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Remove unused struct ath6kl_async_reg_io_buffer
Vasanthakumar Thiagarajan [Mon, 18 Jul 2011 08:53:32 +0000 (14:23 +0530)]
ath6kl: Remove unused struct ath6kl_async_reg_io_buffer

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Move chk_irq_status_cnt from ath6kl_device to htc_target
Vasanthakumar Thiagarajan [Mon, 18 Jul 2011 08:53:31 +0000 (14:23 +0530)]
ath6kl: Move chk_irq_status_cnt from ath6kl_device to htc_target

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Bypass reading irq status based on chk_irq_status_cnt
Vasanthakumar Thiagarajan [Mon, 18 Jul 2011 08:53:30 +0000 (14:23 +0530)]
ath6kl: Bypass reading irq status based on chk_irq_status_cnt

This is a regression.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Move scatter information from ath6kl_device to htc_target
Vasanthakumar Thiagarajan [Mon, 18 Jul 2011 08:53:29 +0000 (14:23 +0530)]
ath6kl: Move scatter information from ath6kl_device to htc_target

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Move block_sz and block_mask from ath6kl_device to htc_target
Vasanthakumar Thiagarajan [Mon, 18 Jul 2011 08:53:28 +0000 (14:23 +0530)]
ath6kl: Move block_sz and block_mask from ath6kl_device to htc_target

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Move bundle size from ath6kl_device to htc_target
Vasanthakumar Thiagarajan [Mon, 18 Jul 2011 08:53:27 +0000 (14:23 +0530)]
ath6kl: Move bundle size from ath6kl_device to htc_target

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Remove callback msg_pending() and used the function directly
Vasanthakumar Thiagarajan [Mon, 18 Jul 2011 08:53:26 +0000 (14:23 +0530)]
ath6kl: Remove callback msg_pending() and used the function directly

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Minor cleanup in ath6kldev_submit_scat_req()
Vasanthakumar Thiagarajan [Mon, 18 Jul 2011 08:53:25 +0000 (14:23 +0530)]
ath6kl: Minor cleanup in ath6kldev_submit_scat_req()

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Remove ath6kldev_setup_msg_bndl()
Vasanthakumar Thiagarajan [Sat, 16 Jul 2011 14:59:18 +0000 (20:29 +0530)]
ath6kl: Remove ath6kldev_setup_msg_bndl()

Use appropriate hif function directly.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Merge scatter rw request functions into one
Vasanthakumar Thiagarajan [Sat, 16 Jul 2011 14:59:17 +0000 (20:29 +0530)]
ath6kl: Merge scatter rw request functions into one

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Refactor ath6kl_sdio_read_write_sync()
Vasanthakumar Thiagarajan [Sat, 16 Jul 2011 14:59:16 +0000 (20:29 +0530)]
ath6kl: Refactor ath6kl_sdio_read_write_sync()

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Moe virt_scat from hif_dev_scat_sup_info to hif_scatter_req
Vasanthakumar Thiagarajan [Sat, 16 Jul 2011 14:59:15 +0000 (20:29 +0530)]
ath6kl: Moe virt_scat from hif_dev_scat_sup_info to hif_scatter_req

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Merge scatter gather setup functions for two method
Vasanthakumar Thiagarajan [Sat, 16 Jul 2011 14:59:14 +0000 (20:29 +0530)]
ath6kl: Merge scatter gather setup functions for two method

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Move down scatter enable and cleanup functions
Vasanthakumar Thiagarajan [Sat, 16 Jul 2011 14:59:13 +0000 (20:29 +0530)]
ath6kl: Move down scatter enable and cleanup functions

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Cleanup ath6kl_sdio_cleanup_scatter()
Vasanthakumar Thiagarajan [Sat, 16 Jul 2011 14:59:12 +0000 (20:29 +0530)]
ath6kl: Cleanup ath6kl_sdio_cleanup_scatter()

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Cleanup ath6kl_sdio_enable_scatter()
Vasanthakumar Thiagarajan [Sat, 16 Jul 2011 14:59:11 +0000 (20:29 +0530)]
ath6kl: Cleanup ath6kl_sdio_enable_scatter()

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Refactor refactor ath6kl_sdio_setup_scat_resource()
Vasanthakumar Thiagarajan [Sat, 16 Jul 2011 14:59:10 +0000 (20:29 +0530)]
ath6kl: Refactor refactor ath6kl_sdio_setup_scat_resource()

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Remove endpoint reference from hif_scatter_req
Vasanthakumar Thiagarajan [Sat, 16 Jul 2011 14:59:09 +0000 (20:29 +0530)]
ath6kl: Remove endpoint reference from hif_scatter_req

Endpoint id ffrom htc_packet can be used instead.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Remove useless flags in hif_scatter_req
Vasanthakumar Thiagarajan [Sat, 16 Jul 2011 14:59:08 +0000 (20:29 +0530)]
ath6kl: Remove useless flags in hif_scatter_req

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Remove struct hif_scatter_req_priv
Vasanthakumar Thiagarajan [Sat, 16 Jul 2011 14:59:07 +0000 (20:29 +0530)]
ath6kl: Remove struct hif_scatter_req_priv

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: Move ath6kl_sdio_async_rw_scatter() down to other hif_ops functions
Vasanthakumar Thiagarajan [Sat, 16 Jul 2011 14:59:06 +0000 (20:29 +0530)]
ath6kl: Move ath6kl_sdio_async_rw_scatter() down to other hif_ops functions

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath6kl: cleanup callbacks for different scatter gather method
Vasanthakumar Thiagarajan [Sat, 16 Jul 2011 14:59:05 +0000 (20:29 +0530)]
ath6kl: cleanup callbacks for different scatter gather method

Define a hook in ath6kl_hif_ops for hif scatter gather mechanism.
When virtual scatter gather is used, call the respective function
directly.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoAdd ath6kl cleaned up driver
Kalle Valo [Sun, 17 Jul 2011 21:22:30 +0000 (00:22 +0300)]
Add ath6kl cleaned up driver

Last May we started working on cleaning up ath6kl driver which is
currently in staging. The work has happened in a separate
ath6kl-cleanup tree:

http://git.kernel.org/?p=linux/kernel/git/kvalo/ath6kl-cleanup.git;a=summary

After over 1100 (!) patches we have now reached a state where I would
like to start discussing about pushing the driver to the wireless
trees and replacing the staging driver.

The driver is now a lot smaller and looks like a proper Linux driver.
The size of the driver (measured with simple wc -l) dropped from 49
kLOC to 18 kLOC and the number of the .c and .h files dropped from 107
to 22. Most importantly the number of subdirectories reduced from 26
to zero :)

There are two remaining checkpatch warnings in the driver which we
decided to omit for now:

drivers/net/wireless/ath/ath6kl/debug.c:31:
  WARNING: printk() should include KERN_ facility level
drivers/net/wireless/ath/ath6kl/sdio.c:527:
  WARNING: msleep < 20ms can sleep for up to 20ms;
  see Documentation/timers/timers-howto.txt

The driver has endian annotations for all the hardware specific
structures and there are no sparse errors. Unfortunately I don't have
any big endian hardware to test that right now.

We have been testing the driver both on x86 and arm platforms. The
code is also compiled with sparc and parisc cross compilers.

Notable missing features compared to the current staging driver are:

o HCI over SDIO support
o nl80211 testmode
o firmware logging
o suspend support

Testmode, firmware logging and suspend support will be added soon. HCI
over SDIO support will be more difficult as the HCI driver needs to
share code with the wifi driver. This is something we need to research
more.

Also I want to point out the changes I did for signed endian support.
As I wasn't able to find any support for signed endian annotations I
decided to follow what NTFS has done and added my own. Grep for sle16
and sle32, especially from wmi.h.

Various people have been working on the cleanup, the hall of
fame based on number of patches is:

   543  Vasanthakumar Thiagarajan
   403  Raja Mani
   252  Kalle Valo
    16  Vivek Natarajan
    12  Suraj Sumangala
     3  Joe Perches
     2  Jouni Malinen

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Vivek Natarajan <nataraja@qca.qualcomm.com>
Signed-off-by: Suraj Sumangala <surajs@qca.qualcomm.com>
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
13 years agoath9k: use the new channel noise value for signal strength and survey info
Felix Fietkau [Thu, 28 Jul 2011 12:08:57 +0000 (14:08 +0200)]
ath9k: use the new channel noise value for signal strength and survey info

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k_hw: calculate a much better approximation of channel noise
Felix Fietkau [Thu, 28 Jul 2011 12:08:56 +0000 (14:08 +0200)]
ath9k_hw: calculate a much better approximation of channel noise

Currently ath9k presents the internal calibrated noise floor as channel
noise measurement, however this results in highly chip specific values
that are only useful as relative measurements but do not resemble any
real channel noise values.

In order to give a much better approximation of the real channel noise,
add the difference between the measured noise floor and the nominal
chip specific noise floor to the default minimum channel noise value,
which is currently used to calculate the signal strength from the RSSI
value. This may not be 100% accurate, but it's much better than what's
there before.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211/mesh: make the preq queue lock consistent
Baruch Siach [Thu, 28 Jul 2011 05:51:05 +0000 (08:51 +0300)]
mac80211/mesh: make the preq queue lock consistent

Make mesh_preq_queue_lock locking consistent with mesh_queue_preq() using
spin_lock_bh().

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agolibertas_usb: program OLPC EC wakeup mask for wake-on-WLAN
Daniel Drake [Wed, 27 Jul 2011 16:19:00 +0000 (17:19 +0100)]
libertas_usb: program OLPC EC wakeup mask for wake-on-WLAN

OLPC power management code has recently gone upstream. This piece
completes the puzzle for libertas_usb, which now programs the OLPC EC
for wlan wakeups when they have been requested.

Signed-off-by: Daniel Drake <dsd@laptop.org>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k_hw: do not limit initial tx power to 20 dbm
Felix Fietkau [Wed, 27 Jul 2011 13:01:05 +0000 (15:01 +0200)]
ath9k_hw: do not limit initial tx power to 20 dbm

When testing for tx power, bypass the default limits.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k_hw: fix calculated runtime tx power limit
Felix Fietkau [Wed, 27 Jul 2011 13:01:04 +0000 (15:01 +0200)]
ath9k_hw: fix calculated runtime tx power limit

Use the previously calculated maximum of all rates instead of just the one
from the lowest rate of the selected PHY mode.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k_hw: remove the tx power index offset
Felix Fietkau [Wed, 27 Jul 2011 13:01:03 +0000 (15:01 +0200)]
ath9k_hw: remove the tx power index offset

It is always 0

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath5k: remove last references to "softc"
Pavel Roskin [Wed, 27 Jul 2011 02:27:05 +0000 (22:27 -0400)]
ath5k: remove last references to "softc"

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath5k: clean up base.h and its use
Pavel Roskin [Wed, 27 Jul 2011 02:26:59 +0000 (22:26 -0400)]
ath5k: clean up base.h and its use

Remove unnecessary includes from base.h.  Add includes to other files as
necessary.  Don't include base.h unless needed.

Move declarations for functions in base.c from ath5k.h to base.h.

Use a better named define to protect base.h against double inclusion.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath: fix spelling of Grenada
Pavel Roskin [Wed, 27 Jul 2011 02:26:52 +0000 (22:26 -0400)]
ath: fix spelling of Grenada

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoorinoco_cs: be more careful when matching cards with ID 0x0156:0x0002
Pavel Roskin [Tue, 26 Jul 2011 22:52:48 +0000 (18:52 -0400)]
orinoco_cs: be more careful when matching cards with ID 0x0156:0x0002

Without CONFIG_HERMES_PRISM, only match cards that have "Version 01.01"
as the third product ID.  Those have Agere firmware.

With CONFIG_HERMES_PRISM, match all 0x0156:0x0002 cards.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agohostap_cs: support cards with "Version 01.02" as third product ID
Pavel Roskin [Tue, 26 Jul 2011 22:52:41 +0000 (18:52 -0400)]
hostap_cs: support cards with "Version 01.02" as third product ID

Cards with numeric ID 0x0156:0x0002 and third ID "Version 01.02" can be
assumed to have Intersil firmware.  Cards with Agere firmware use
"Version 01.01".

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agopcmcia: add PCMCIA_DEVICE_MANF_CARD_PROD_ID3
Pavel Roskin [Tue, 26 Jul 2011 22:52:35 +0000 (18:52 -0400)]
pcmcia: add PCMCIA_DEVICE_MANF_CARD_PROD_ID3

This is needed to match wireless cards with Intersil firmware that have
ID 0x0156:0x0002 and the third ID "Version 01.02".  Such cards are
currently matched by orinoco_cs, which doesn't support WPA.  They should
be matched by hostap_cs.

The first and the second product ID vary widely, so there are few users
with some particular IDs.  Of those, very few can submit a patch for
hostap_cs or write a useful bugreport.  It's still important to support
their hardware properly.

With PCMCIA_DEVICE_MANF_CARD_PROD_ID3, it should be possible to cover
the remaining Intersil based designs that kept the numeric ID and the
"version" of the reference design.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43legacy: report core number
Pavel Roskin [Tue, 26 Jul 2011 15:36:48 +0000 (11:36 -0400)]
b43legacy: report core number

Signed-off-by: Pavel Roskin <proski@gnu.org>
Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211: Don't use a buf_size=0 in ADDBA requests
Helmut Schaa [Fri, 5 Aug 2011 09:46:19 +0000 (11:46 +0200)]
mac80211: Don't use a buf_size=0 in ADDBA requests

According to 802.11-2007, 7.3.1.14 it is compliant to use a buf_size of
0 in ADDBA requests. But some devices (AVM Fritz Stick N) arn't able to
handle that correctly and will reply with an ADDBA reponse with a
buf_size of 0 which in turn will disallow BA sessions for these
devices.

To work around this problem, initialize hw.max_tx_aggregation_subframes
to the maximum AMPDU buffer size 0x40.

Using 0 as default for the bufsize was introduced in commit
5dd36bc933e8be84f8369ac64505a2938f9ce036 (mac80211: allow advertising
correct maximum aggregate size).

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211: Stop TX BA session if buf_size is zero
Helmut Schaa [Tue, 26 Jul 2011 10:18:27 +0000 (12:18 +0200)]
mac80211: Stop TX BA session if buf_size is zero

If we receive an ADDBA response with status code 0 and a buf_size of 0
we should stop the TX BA session as otherwise we'll end up queuing
frames in ieee80211_tx_prep_agg forever instead of sending them out as
non AMPDUs.

This fixes a problem with AVM Fritz Stick N wireless devices where
frames to this device are not transmitted anymore by mac80211.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43legacy: remove 64-bit DMA support
Pavel Roskin [Mon, 25 Jul 2011 21:40:22 +0000 (17:40 -0400)]
b43legacy: remove 64-bit DMA support

Devices supported by b43legacy don't support 64-bit DMA.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: support v2 of enhanced sensitivity table
Wey-Yi Guy [Sat, 23 Jul 2011 17:24:50 +0000 (10:24 -0700)]
iwlagn: support v2 of enhanced sensitivity table

Add support for v2 of enhanced sensitivity table for 2000 series products

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: change default sensitivity value for 5000 and 6000 series
Wey-Yi Guy [Sat, 23 Jul 2011 17:24:49 +0000 (10:24 -0700)]
iwlagn: change default sensitivity value for 5000 and 6000 series

Update the default sensitivity value for both 5000 and 6000 series devices

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211: remove offchannel_tx API
Johannes Berg [Sat, 23 Jul 2011 17:24:48 +0000 (10:24 -0700)]
mac80211: remove offchannel_tx API

For iwlwifi, I decided not to use this API since
it just increased the complexity for little gain.
Since nobody else intends to use it, let's kill
it again. If anybody later needs to have it, we
can always revive it then.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: support new P2P implementation
Johannes Berg [Sat, 23 Jul 2011 17:24:47 +0000 (10:24 -0700)]
iwlagn: support new P2P implementation

The previous P2P implementation turned out to
not work well and new uCode capabilities were
added to support P2P. Modify the driver to
take advantage of those, and also discover P2P
support automatically based on a uCode flag
instead of having a Kconfig symbol for P2P.

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>
13 years agoiwlagn: move context init after firmware loading
Johannes Berg [Sat, 23 Jul 2011 17:24:46 +0000 (10:24 -0700)]
iwlagn: move context init after firmware loading

The availability of contexts depends on the
firmware capabilities. Currently only the
presence of the second context depends on it,
but soon P2P support will also be different.
Move the context initialisation code to the
firmware-dependent setup before registering
with mac80211 to make it easier to handle.

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>
13 years agoiwlagn: bump firmware API for some devices
Johannes Berg [Sat, 23 Jul 2011 17:24:45 +0000 (10:24 -0700)]
iwlagn: bump firmware API for some devices

We're working on improvements for the firmware
for some devices, and need to bump the API for
those since they won't be backward compatible
completely (the earlier patch reserving queue
10 for P2P).

Bump the API version to 6 for those devices
but don't warn users of version 5 yet.

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>
13 years agoiwlagn: separate firmware version warning
Johannes Berg [Sat, 23 Jul 2011 17:24:44 +0000 (10:24 -0700)]
iwlagn: separate firmware version warning

We sometimes need to support new firmware API for
a while before we can publish them since testing
them fully takes a long time. We could keep all
the new code private, but that causes plenty of
problems and sometimes we can give a pre-release
version of firmware to people who need to test.
However, when we just bump the API version, the
driver will warn everybody that their firmware is
outdated, when in fact it isn't. (Currently our
case for this doesn't really change the API but
bumping the API version is necessary because the
firmware isn't fully backward compatible)

In order to handle this in the future, add a new
"api_ok" version; only below this will the driver
warn that the uCode is too old.

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>
13 years agoiwlagn: Remove ht40 support from 5.2GHz for _bgn devices
Wey-Yi Guy [Sat, 23 Jul 2011 17:24:42 +0000 (10:24 -0700)]
iwlagn: Remove ht40 support from 5.2GHz for _bgn devices

For _bgn device, remove ht40 support for 5.2GHz, it is probably ok since
the "band" is not support but just feel strange.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: default smps mode for 1000 series device
Wey-Yi Guy [Sat, 23 Jul 2011 17:24:41 +0000 (10:24 -0700)]
iwlagn: default smps mode for 1000 series device

1000 series are 1x2 devices, the old default using static smps which only
use single antenna for rx, set the default to dynamic smps.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: reserve queue 10 for TX during scan dwell
Johannes Berg [Sat, 23 Jul 2011 17:24:40 +0000 (10:24 -0700)]
iwlagn: reserve queue 10 for TX during scan dwell

New uCode images will use queue 10 for TX
during scan (for P2P offchannel operation
scan). We'll bump the API version of those,
but before we need to reserve queue 10 and
stop using it for aggregation.

To simplify the code, always reserve it,
we could continue using it on older uCode
images but that'd be rather complicated.
Also, we'll set it up to map to the right
FIFO as needed later, but as we don't use
the queue now that doesn't hurt.

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>
13 years agoath5k: eliminate CHANNEL_* macros, use AR5K_MODE_* in channel->hw_value
Pavel Roskin [Sat, 23 Jul 2011 13:29:09 +0000 (09:29 -0400)]
ath5k: eliminate CHANNEL_* macros, use AR5K_MODE_* in channel->hw_value

When checking for the band, use channel->band.

Change ath5k_hw_nic_wakeup() and ath5k_channel_ok() to take
ieee80211_channel.  Change ath5k_hw_radio_revision() to take
ieee80211_band.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
Acked-by: Nick Kossifidis <mickflemm@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath5k: remove most references to XR
Pavel Roskin [Sat, 23 Jul 2011 13:29:03 +0000 (09:29 -0400)]
ath5k: remove most references to XR

XR is a proprietary feature of the chipset.  It's not supported and
should not be supported.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
Acked-by: Nick Kossifidis <mickflemm@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath5k: remove unused and write-only structures and fields
Pavel Roskin [Sat, 23 Jul 2011 13:28:56 +0000 (09:28 -0400)]
ath5k: remove unused and write-only structures and fields

struct ath5k_avg_val is unused.

In struct ath5k_hw, lladdr, ah_radar and ah_mac_revision are write-only,
rxbufsize is unused, ah_phy is write-only and referenced by unused
macros.

In struct ath5k_vif, lladdr is write-only.

Remove AR5K_TUNE_RADAR_ALERT, which has no effect.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
Acked-by: Nick Kossifidis <mickflemm@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k: remove all references to subsysid, it's never used
Pavel Roskin [Sat, 23 Jul 2011 07:55:39 +0000 (03:55 -0400)]
ath9k: remove all references to subsysid, it's never used

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agobcm47xx: fix irq assignment for new SoCs.
Hauke Mehrtens [Fri, 22 Jul 2011 23:20:15 +0000 (01:20 +0200)]
bcm47xx: fix irq assignment for new SoCs.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agobcm47xx: add support for bcma bus
Hauke Mehrtens [Fri, 22 Jul 2011 23:20:14 +0000 (01:20 +0200)]
bcm47xx: add support for bcma bus

This patch add support for the bcma bus. Broadcom uses only Mips 74K
CPUs on the new SoC and on the old ons using ssb bus there are no Mips
74K CPUs.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agobcm47xx: make it possible to build bcm47xx without ssb.
Hauke Mehrtens [Fri, 22 Jul 2011 23:20:13 +0000 (01:20 +0200)]
bcm47xx: make it possible to build bcm47xx without ssb.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agobcm47xx: prepare to support different buses
Hauke Mehrtens [Fri, 22 Jul 2011 23:20:12 +0000 (01:20 +0200)]
bcm47xx: prepare to support different buses

Prepare bcm47xx to support different System buses. Before adding
support for bcma it should be possible to build bcm47xx without the
need of ssb. With this patch bcm47xx does not directly contain a
ssb_bus, but a union contain all the supported system buses. As a SoC
just uses one system bus a union is a good choice.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agobcma: get CPU clock
Hauke Mehrtens [Fri, 22 Jul 2011 23:20:11 +0000 (01:20 +0200)]
bcma: get CPU clock

Add method to return the clock of the CPU. This is needed by the arch
code to calculate the mips_hpt_frequency.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agobcma: add serial console support
Hauke Mehrtens [Fri, 22 Jul 2011 23:20:10 +0000 (01:20 +0200)]
bcma: add serial console support

This adds support for serial console to bcma, when operating on an SoC.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agobcma: add mips driver
Hauke Mehrtens [Fri, 22 Jul 2011 23:20:09 +0000 (01:20 +0200)]
bcma: add mips driver

This adds a mips driver to bcma. This is only found on embedded
devices. For now the driver just initializes the irqs used on this
system.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agobcma: add SOC bus
Hauke Mehrtens [Fri, 22 Jul 2011 23:20:08 +0000 (01:20 +0200)]
bcma: add SOC bus

This patch adds support for using bcma on a Broadcom SoC as the system
bus. An SoC like the bcm4716 could register this bus and use it to
searches for the bcma cores and register the devices on this bus.

BCMA_HOSTTYPE_NONE was intended for SoCs at first but BCMA_HOSTTYPE_SOC
is a better name.

Acked-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agobcma: add functions to scan cores needed on SoCs
Hauke Mehrtens [Fri, 22 Jul 2011 23:20:07 +0000 (01:20 +0200)]
bcma: add functions to scan cores needed on SoCs

The chip common and mips core have to be setup early in the boot
process to get the cpu clock.
bcma_bus_early_register() gets pointers to some space to store the core
data and searches for the chip common and mips core and initializes
chip common. After that was done and the kernel is out of early boot we
just have to run bcma_bus_register() and it will search for the other
cores, initialize and register them.
The cores are getting the same numbers as before.

Acked-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agobcma: move initializing of struct bcma_bus to own function.
Hauke Mehrtens [Fri, 22 Jul 2011 23:20:06 +0000 (01:20 +0200)]
bcma: move initializing of struct bcma_bus to own function.

This makes it possible to use this code in some other method.

Acked-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agobcma: move parsing of EEPROM into own function.
Hauke Mehrtens [Fri, 22 Jul 2011 23:20:05 +0000 (01:20 +0200)]
bcma: move parsing of EEPROM into own function.

Move the parsing of the EEPROM data in scan function for one core into
an own function. Now we are able to use it in some other scan function
as well.

Acked-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k: use pci_dev->subsystem_device
Sergei Shtylyov [Fri, 22 Jul 2011 15:58:23 +0000 (19:58 +0400)]
ath9k: use pci_dev->subsystem_device

The driver reads PCI subsystem ID from the PCI configuration register while it's
already stored by the PCI subsystem in the 'subsystem_device' field of 'struct
pci_dev'...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomwifiex: remove redundant variable scan_table_idx
Bing Zhao [Fri, 22 Jul 2011 03:25:58 +0000 (20:25 -0700)]
mwifiex: remove redundant variable scan_table_idx

mwifiex_get_bss_info() routine updates variable 'info->scan_table_idx'
but it is never used.

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>
13 years agolibertas_usb: use USB interface as parent device
Daniel Drake [Thu, 21 Jul 2011 19:43:44 +0000 (20:43 +0100)]
libertas_usb: use USB interface as parent device

Currently, "udevadm info -a -p /sys/class/net/wlan0" doesn't mention
the usb8xxx or libertas driver anywhere. This makes writing udev rules
a bit uncomfortable.

Using the USB interface as the parent device corrects the hierarchy.

Signed-off-by: Daniel Drake <dsd@laptop.org>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agolibertas: link mesh device to wiphy
Daniel Drake [Thu, 21 Jul 2011 19:43:17 +0000 (20:43 +0100)]
libertas: link mesh device to wiphy

The mesh device is now exposed as an interface of the wiphy.
This exposes the mesh device to the cfg80211 interface, allowing
mesh channel selection to be reimplemented, and available to
NetworkManager as it was before.

Some header tweaking was needed in order to implement lbs_mesh_activated().

Signed-off-by: Daniel Drake <dsd@laptop.org>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agocfg80211: remove unused wext handler exports
Johannes Berg [Fri, 15 Jul 2011 11:01:38 +0000 (13:01 +0200)]
cfg80211: remove unused wext handler exports

A lot of code is dedicated to giving drivers the
ability to use cfg80211's wext handlers without
completely converting. However, only orinoco is
currently using this, and it is only partially
using it.

We reduce the size of both the source and binary
by removing those that nobody needs. If a driver
shows up that needs it during conversion, we can
add back those that are needed.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomwifiex: remove wireless.h inclusion and fix resulting bugs
Bing Zhao [Thu, 14 Jul 2011 01:38:34 +0000 (18:38 -0700)]
mwifiex: remove wireless.h inclusion and fix resulting bugs

replace IW_MAX_AP & IW_CUSTOM_MAX with local definitions
and remove usage of struct iw_statistics.

Cc: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211: remove linux/wireless.h inclusion
Johannes Berg [Wed, 13 Jul 2011 08:39:19 +0000 (10:39 +0200)]
mac80211: remove linux/wireless.h inclusion

linux/wireless.h is for wireless extensions only, so
mac80211 shouldn't include it since it uses cfg80211.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomwifiex: add wext include
Johannes Berg [Wed, 13 Jul 2011 08:39:18 +0000 (10:39 +0200)]
mwifiex: add wext include

In trying to remove the wext includes from mac80211
and cfg80211 I found that mwifiex currently uses
them. This is wrong, it shouldn't, but to not break
it completely include wext there.

Please remove this and fix all the resulting bugs.

Cc: Bing Zhao <bzhao@marvell.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Acked-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agowl1251: remove wext dependencies
Johannes Berg [Wed, 13 Jul 2011 08:39:17 +0000 (10:39 +0200)]
wl1251: remove wext dependencies

This driver uses IW_ESSID_MAX_SIZE when it should
be using IEEE80211_MAX_SSID_LEN instead.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agowl12xx: remove wext dependencies
Johannes Berg [Wed, 13 Jul 2011 08:39:16 +0000 (10:39 +0200)]
wl12xx: remove wext dependencies

This driver uses IW_ESSID_MAX_SIZE when it should
be using IEEE80211_MAX_SSID_LEN instead.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Acked-by: Luciano Coelho <coelho@ti.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agorndis_wlan: remove wireless extensions inclusions
Johannes Berg [Wed, 13 Jul 2011 08:39:15 +0000 (10:39 +0200)]
rndis_wlan: remove wireless extensions inclusions

linux/wireless.h and net/iw_handler.h headers are
for wireless extensions only, so mac80211 drivers
shouldn't be including them.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43legacy: remove wireless extensions inclusions
Johannes Berg [Wed, 13 Jul 2011 08:39:14 +0000 (10:39 +0200)]
b43legacy: remove wireless extensions inclusions

linux/wireless.h and net/iw_handler.h headers are
for wireless extensions only, so mac80211 drivers
shouldn't be including them.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43: remove wireless extensions inclusions
Johannes Berg [Wed, 13 Jul 2011 08:39:13 +0000 (10:39 +0200)]
b43: remove wireless extensions inclusions

linux/wireless.h and net/iw_handler.h headers are
for wireless extensions only, so mac80211 drivers
shouldn't be including them.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath5k: remove wireless extensions inclusions
Johannes Berg [Wed, 13 Jul 2011 08:39:12 +0000 (10:39 +0200)]
ath5k: remove wireless extensions inclusions

linux/wireless.h and net/iw_handler.h headers are
for wireless extensions only, so mac80211 drivers
shouldn't be including them.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Acked-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlegacy: remove wireless extensions inclusions
Johannes Berg [Wed, 13 Jul 2011 08:39:11 +0000 (10:39 +0200)]
iwlegacy: remove wireless extensions inclusions

linux/wireless.h and net/iw_handler.h headers are
for wireless extensions only, so mac80211 drivers
shouldn't be including them.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: remove wireless extensions inclusions
Johannes Berg [Wed, 13 Jul 2011 08:39:10 +0000 (10:39 +0200)]
iwlagn: remove wireless extensions inclusions

linux/wireless.h and net/iw_handler.h headers are
for wireless extensions only, so mac80211 drivers
shouldn't be including them.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agocfg80211: split wext compatibility to separate header
Johannes Berg [Wed, 13 Jul 2011 08:39:09 +0000 (10:39 +0200)]
cfg80211: split wext compatibility to separate header

A lot of drivers erroneously use wext constants
and don't notice since cfg80211.h includes them.
Make this more split up so drivers needing wext
compatibility from cfg80211 need to explicitly
include that from cfg80211-wext.h.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for...
John W. Linville [Wed, 3 Aug 2011 13:18:21 +0000 (09:18 -0400)]
Merge git://git./linux/kernel/git/linville/wireless-next into for-davem

13 years agoiwlagn: 5000 do not support idle mode
Wey-Yi Guy [Tue, 2 Aug 2011 16:08:37 +0000 (09:08 -0700)]
iwlagn: 5000 do not support idle mode

5000 series has issue supporting power save idle mode:

commit 9dc2153315650eae220898668b6aa56a25c130be

iwlwifi: always support idle mode for agn devices

For agn devices, always support idle mode which help power
consumption in idle unassociated state.

the above changes cause 5000 become not stable when power management is "on"

http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2312

Cc: stable@kernel.org #2.6.39, #3.0.0
Reported-by: Devin J Pohly <djpohly+iwl@gmail.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agort2x00: fix usage of NULL queue
Stanislaw Gruszka [Tue, 2 Aug 2011 11:29:02 +0000 (13:29 +0200)]
rt2x00: fix usage of NULL queue

We may call rt2x00queue_pause_queue(queue) with queue == NULL. Bug
was introduced by commit 62fe778412b36791b7897cfa139342906fbbf07b
"rt2x00: Fix stuck queue in tx failure case" .

Cc: stable@kernel.org # 3.0+
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agort2x00: Fix compilation without CONFIG_RT2X00_LIB_CRYPTO
Helmut Schaa [Tue, 2 Aug 2011 09:43:14 +0000 (11:43 +0200)]
rt2x00: Fix compilation without CONFIG_RT2X00_LIB_CRYPTO

This was introduced by commit
77b5621bac4a56b83b9081f48d4e7d1accdde400 (rt2x00: Don't use queue entry
as parameter when creating TX descriptor.)

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Reported-by: Randy Dunlap <rdunlap@xenotime.net>
Acked-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: sysfs couldn't find the priv pointer
Emmanuel Grumbach [Mon, 1 Aug 2011 19:46:57 +0000 (12:46 -0700)]
iwlagn: sysfs couldn't find the priv pointer

This bug has been introduced by:
d593411084a56124aa9d80aafa15db8463b2d8f7
Author: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Date:   Mon Jul 11 10:48:51 2011 +0300

    iwlagn: simplify the bus architecture

Revert part of the buggy patch: dev_get_drvdata will now return
iwl_priv as it did before the patch.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Tested-by: Daniel Halperin <dhalperi@cs.washington.edu>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agort2x00: rt2800: fix zeroing skb structure
Stanislaw Gruszka [Sat, 30 Jul 2011 11:32:56 +0000 (13:32 +0200)]
rt2x00: rt2800: fix zeroing skb structure

We should clear skb->data not skb itself. Bug was introduced by:
commit 0b8004aa12d13ec750d102ba4082a95f0107c649 "rt2x00: Properly
reserve room for descriptors in skbs".

Cc: stable@kernel.org # 2.6.36+
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: Fix kernel oops on ARM SOC
Larry Finger [Fri, 29 Jul 2011 15:53:12 +0000 (10:53 -0500)]
rtlwifi: Fix kernel oops on ARM SOC

This driver uses information from the self member of the pci_bus struct to
get information regarding the bridge to which the PCIe device is attached.
Unfortunately, this member is not established on all architectures, which
leads to a kernel oops.

Skipping the entire block that uses the self member to determine the bridge
vendor will only affect RTL8192DE devices as that driver sets the ASPM support
flag differently when the bridge vendor is Intel. If the self member is
available, there is no functional change.

This patch fixes Bugzilla No. 40212.

Reported-by: Hubert Liao <liao.hubertt@gmail.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Stable <stable@kernel.org> [back to 2.6.38]
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k: skip ->config_pci_powersave() if PCIe port has ASPM disabled
Stanislaw Gruszka [Fri, 29 Jul 2011 13:59:08 +0000 (15:59 +0200)]
ath9k: skip ->config_pci_powersave() if PCIe port has ASPM disabled

We receive many bug reports about system hang during suspend/resume
when ath9k driver is in use. Adrian Chadd remarked that this problem
happens on systems that have ASPM disabled.

To do not hit the bug, skip doing ->config_pci_powersave magic if PCIe
downstream port device, which ath9k device is connected to, has ASPM
disabled.

Bug was introduced by:

commit 53bc7aa08b48e5cd745f986731cc7dc24eef2a9f
Author: Vivek Natarajan <vnatarajan@atheros.com>
Date:   Mon Apr 5 14:48:04 2010 +0530

    ath9k: Add support for newer AR9285 chipsets.

Patch should address:
https://bugzilla.kernel.org/show_bug.cgi?id=37462
https://bugzilla.kernel.org/show_bug.cgi?id=37082
https://bugzilla.redhat.com/show_bug.cgi?id=697157

however I did not receive confirmation about that, except from Camilo
Mesias, whose system stops hang regularly with this patch (but still
hangs from time to time, but this is probably some other bug).

Tested-by: Camilo Mesias <camilo@mesias.co.uk>
Cc: stable@kernel.org # 2.6.35+
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agocfg80211: off by one in nl80211_trigger_scan()
Dan Carpenter [Fri, 29 Jul 2011 08:52:18 +0000 (11:52 +0300)]
cfg80211: off by one in nl80211_trigger_scan()

The test is off by one so we'd read past the end of the
wiphy->bands[] array on the next line.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlegacy: set tx power after rxon_assoc
Stanislaw Gruszka [Wed, 27 Jul 2011 13:37:43 +0000 (15:37 +0200)]
iwlegacy: set tx power after rxon_assoc

If settings of tx power was deferred during scan or changing channel we
have to setup them during commit rxon. Fix problem on 3945 (4965 already
has this fix).

Optimize code to apply tx settings only when tx power was actually
changed.

Cc: stable@kernel.org # 2.6.39+
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k: initialize tx chainmask before testing channel tx power values
Felix Fietkau [Wed, 27 Jul 2011 13:01:02 +0000 (15:01 +0200)]
ath9k: initialize tx chainmask before testing channel tx power values

With an uninitialized chainmask, the per-channel power will only contain
the power limits for a single chain instead of the combined tx power.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Cc: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>