GitHub/moto-9609/android_kernel_motorola_exynos9610.git
13 years agocfg80211/nl80211: support GTK rekey offload
Johannes Berg [Tue, 5 Jul 2011 14:35:40 +0000 (16:35 +0200)]
cfg80211/nl80211: support GTK rekey offload

In certain circumstances, like WoWLAN scenarios,
devices may implement (partial) GTK rekeying on
the device to avoid waking up the host for it.

In order to successfully go through GTK rekeying,
the KEK, KCK and the replay counter are required.

Add API to let the supplicant hand the parameters
to the driver which may store it for future GTK
rekey operations.

Note that, of course, if GTK rekeying is done by
the device, the EAP frame must not be passed up
to userspace, instead a rekey event needs to be
sent to let userspace update its replay counter.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211: allow driver to iterate keys
Johannes Berg [Tue, 5 Jul 2011 14:35:39 +0000 (16:35 +0200)]
mac80211: allow driver to iterate keys

When in suspend/wowlan, devices might implement crypto
offload differently (more features), and might require
reprogramming keys for the WoWLAN (as it is the case
for Intel devices that use another uCode image). Thus
allow the driver to iterate all keys in this context.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlwifi: remove unnecessary read of PCI_CAP_ID_EXP
Jon Mason [Thu, 30 Jun 2011 15:42:47 +0000 (10:42 -0500)]
iwlwifi: remove unnecessary read of PCI_CAP_ID_EXP

The PCIE capability offset is saved during PCI bus walking.  It will
remove an unnecessary search in the PCI configuration space if this
value is referenced instead of reacquiring it.

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Acked-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoMerge branch 'for-linville' of git://git.kernel.org/pub/scm/linux/kernel/git/luca...
John W. Linville [Wed, 6 Jul 2011 19:03:16 +0000 (15:03 -0400)]
Merge branch 'for-linville' of git://git./linux/kernel/git/luca/wl12xx

13 years agossb: use pci_dev->subsystem_{vendor,device}
Sergei Shtylyov [Fri, 1 Jul 2011 18:34:42 +0000 (22:34 +0400)]
ssb: use pci_dev->subsystem_{vendor,device}

The SSB code reads PCI subsystem IDs from the PCI configuration registers while
they are already stored by the PCI subsystem in the 'subsystem_{vendor|device}'
fields of 'struct pci_dev'...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agossb: use pci_dev->revision
Sergei Shtylyov [Fri, 1 Jul 2011 18:33:08 +0000 (22:33 +0400)]
ssb: use pci_dev->revision

The SSB code reads PCI revision ID from the PCI configuration register while
it's already stored by the PCI subsystem in the 'revision' 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 agob43: Add RX side DMA memory barrier
Michael Büsch [Mon, 4 Jul 2011 17:51:11 +0000 (19:51 +0200)]
b43: Add RX side DMA memory barrier

This adds a memory barrier to ensure the writes to the ring memory
are committed before the DMA ring pointer is updated.
We do a similar thing on the TX side already.

Signed-off-by: Michael Buesch <m@bues.ch>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoNFC: add Documentation/networking/nfc.txt
Aloisio Almeida Jr [Fri, 1 Jul 2011 22:31:38 +0000 (19:31 -0300)]
NFC: add Documentation/networking/nfc.txt

Signed-off-by: Aloisio Almeida Jr <aloisio.almeida@openbossa.org>
Signed-off-by: Lauro Ramos Venancio <lauro.venancio@openbossa.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoNFC: pn533: add NXP pn533 nfc device driver
Aloisio Almeida Jr [Fri, 1 Jul 2011 22:31:37 +0000 (19:31 -0300)]
NFC: pn533: add NXP pn533 nfc device driver

Signed-off-by: Lauro Ramos Venancio <lauro.venancio@openbossa.org>
Signed-off-by: Aloisio Almeida Jr <aloisio.almeida@openbossa.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoNFC: add the NFC socket raw protocol
Lauro Ramos Venancio [Fri, 1 Jul 2011 22:31:36 +0000 (19:31 -0300)]
NFC: add the NFC socket raw protocol

This socket protocol is used to perform data exchange with NFC
targets.

Signed-off-by: Lauro Ramos Venancio <lauro.venancio@openbossa.org>
Signed-off-by: Aloisio Almeida Jr <aloisio.almeida@openbossa.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoNFC: add NFC socket family
Aloisio Almeida Jr [Fri, 1 Jul 2011 22:31:35 +0000 (19:31 -0300)]
NFC: add NFC socket family

Signed-off-by: Lauro Ramos Venancio <lauro.venancio@openbossa.org>
Signed-off-by: Aloisio Almeida Jr <aloisio.almeida@openbossa.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoNFC: add nfc generic netlink interface
Lauro Ramos Venancio [Fri, 1 Jul 2011 22:31:34 +0000 (19:31 -0300)]
NFC: add nfc generic netlink interface

The NFC generic netlink interface exports the NFC control operations
to the user space.

Signed-off-by: Lauro Ramos Venancio <lauro.venancio@openbossa.org>
Signed-off-by: Aloisio Almeida Jr <aloisio.almeida@openbossa.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Reviewed-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoNFC: add nfc subsystem core
Lauro Ramos Venancio [Fri, 1 Jul 2011 22:31:33 +0000 (19:31 -0300)]
NFC: add nfc subsystem core

The NFC subsystem core is responsible for providing the device driver
interface. It is also responsible for providing an interface to the control
operations and data exchange.

Signed-off-by: Lauro Ramos Venancio <lauro.venancio@openbossa.org>
Signed-off-by: Aloisio Almeida Jr <aloisio.almeida@openbossa.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211: allow driver to impose WoWLAN restrictions
Johannes Berg [Fri, 1 Jul 2011 22:02:01 +0000 (00:02 +0200)]
mac80211: allow driver to impose WoWLAN restrictions

If the driver can't support WoWLAN in the current
state, this patch allows it to return 1 from the
suspend callback to do the normal deconfiguration
instead of using suspend/resume calls. Note that
if it does this, resume won't be called.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agossb: PCI revision ID register is 8-bit wide
Sergei Shtylyov [Fri, 1 Jul 2011 18:35:28 +0000 (22:35 +0400)]
ssb: PCI revision ID register is 8-bit wide

The SSB code reads PCI revision ID register as 16-bit entity while the register
is actually 8-bit only (the next 8 bits are the programming interface register).
Fix the read and make the 'rev' field of 'struct ssb_boardinfo' 8-bit as well,
to match the register size.

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192de: Fix error exit from hw_init
Larry Finger [Fri, 1 Jul 2011 13:56:11 +0000 (08:56 -0500)]
rtlwifi: rtl8192de: Fix error exit from hw_init

In routine rtl92de_hw_init(), there are two places where a failure is
not handled correctly.

Reported-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192de: Replace loops calling udelay with single mdelay
Larry Finger [Fri, 1 Jul 2011 13:50:48 +0000 (08:50 -0500)]
rtlwifi: rtl8192de: Replace loops calling udelay with single mdelay

There are a number of loops to implement delays. These are replaced with
single calls to mdelay().

The need for a fix was noted by Andrew Morton <akpm@linux-foundation.org>.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agocarl9170: use carl9170 queue enums
Christian Lamparter [Fri, 1 Jul 2011 13:28:22 +0000 (15:28 +0200)]
carl9170: use carl9170 queue enums

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192de: Remove comparison of boolean with true
Larry Finger [Thu, 30 Jun 2011 21:47:11 +0000 (16:47 -0500)]
rtlwifi: rtl8192de: Remove comparison of boolean with true

Tests of a boolean against "true" are not needed as non-zero is sufficient..

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192{ce,cu,se} Remove irq_enabled
Mike McCormack [Thu, 30 Jun 2011 21:46:14 +0000 (16:46 -0500)]
rtlwifi: rtl8192{ce,cu,se} Remove irq_enabled

This should be unnecessary if synchronize_irq is used.

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192de: Remove irq_enabled boolean
Larry Finger [Thu, 30 Jun 2011 21:44:47 +0000 (16:44 -0500)]
rtlwifi: rtl8192de: Remove irq_enabled boolean

Prepare rtl8192de for the removal of irq_enaqbled.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agodrivers/net/wireless/rtlwifi/rtl8192de/phy.c: fix udelay() usage
Andrew Morton [Thu, 30 Jun 2011 21:28:50 +0000 (16:28 -0500)]
drivers/net/wireless/rtlwifi/rtl8192de/phy.c: fix udelay() usage

ERROR: "__bad_udelay" [drivers/net/wireless/rtlwifi/rtl8192de/rtl8192de.ko] undefined!

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211: fix smatch complains
Christian Lamparter [Thu, 30 Jun 2011 19:08:43 +0000 (21:08 +0200)]
mac80211: fix smatch complains

mlme.c
l.757 ieee80211_dynamic_ps_enable_work(11)
variable dereferenced before check 'sdata'

mesh_pathtbl.c
l.650 mesh_path_del(20) double lock 'bottom_half'
l.663 mesh_path_del(33) double unlock 'bottom_half'

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agocarl9170: allow PSM if the 5 GHz band is selected
Christian Lamparter [Thu, 30 Jun 2011 18:34:54 +0000 (20:34 +0200)]
carl9170: allow PSM if the 5 GHz band is selected

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agocarl9170: enable IEEE80211_HW_NEED_DTIM_PERIOD
Christian Lamparter [Thu, 30 Jun 2011 18:31:34 +0000 (20:31 +0200)]
carl9170: enable IEEE80211_HW_NEED_DTIM_PERIOD

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agocarl9170: import 1.9.4 firmware headers
Christian Lamparter [Thu, 30 Jun 2011 18:27:47 +0000 (20:27 +0200)]
carl9170: import 1.9.4 firmware headers

This patch imports all shared header changes
from carl9170fw.git.

 * update copyright boilerplate

 * add some more strategic __aligned(4).

 * WoWLAN

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agonet, wireless: Don't return uninitialized in __cfg80211_stop_sched_scan()
Jesper Juhl [Wed, 29 Jun 2011 20:49:33 +0000 (22:49 +0200)]
net, wireless: Don't return uninitialized in __cfg80211_stop_sched_scan()

If the 'driver_initiated' function argument to
__cfg80211_stop_sched_scan() is not 0 then we'll return an
uninitialized 'err' from the function.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211: Skip tailroom reservation for full HW-crypto devices with race fix
Yogesh Ashok Powar [Tue, 28 Jun 2011 13:11:37 +0000 (18:41 +0530)]
mac80211: Skip tailroom reservation for full HW-crypto devices with race fix

Based on inputs from Johannes Berg <johannes@sipsolutions.net>
from http://article.gmane.org/gmane.linux.kernel.wireless.general/68193
and http://article.gmane.org/gmane.linux.kernel.wireless.general/71702

In xmit path, devices that do full hardware crypto (including
MMIC and ICV) need no tailroom. For such devices, tailroom
reservation can be skipped if all the keys are programmed into
the hardware (i.e software crypto is not used for any of the
keys) and none of the keys wants software to generate Michael
MIC and IV.

v2: Added check for IV along with MMIC.
Reported-by: Fabio Rossi <rossi.f@inwind.it>
Tested-by: Fabio Rossi <rossi.f@inwind.it>
Signed-off-by: Mohammed Shafi Shajakhan <mshajakhan@atheros.com>
Cc: Mohammed Shafi Shajakhan <mshajakhan@atheros.com>
v3: Fixing races to avoid WARNING: at net/mac80211/wpa.c:397
    ccmp_encrypt_skb+0xc4/0x1f0
Reported-by: Andreas Hartmann <andihartmann@01019freenet.de>
Tested-by: Andreas Hartmann <andihartmann@01019freenet.de>
v4: Added links with message ID

Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: remove the indirection for the rx write pointer
Emmanuel Grumbach [Tue, 28 Jun 2011 20:13:59 +0000 (13:13 -0700)]
iwlagn: remove the indirection for the rx write pointer

Not needed since the driver split.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
13 years agoiwlagn: remove hcmd ops
Wey-Yi Guy [Fri, 1 Jul 2011 14:59:26 +0000 (07:59 -0700)]
iwlagn: remove hcmd ops

All "agn" devices use the same hcmd functions, no need to call indirectly.
remove hcmd_ops

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
13 years agoiwlagn: call bt_coex directlly
Wey-Yi Guy [Tue, 28 Jun 2011 18:46:28 +0000 (11:46 -0700)]
iwlagn: call bt_coex directlly

Call the 2-wire and advanced bt-coex function directly to avoid mistake

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
13 years agoiwlagn: scd memory boundary
Wey-Yi Guy [Tue, 28 Jun 2011 15:01:12 +0000 (08:01 -0700)]
iwlagn: scd memory boundary

Assign memory boundary for SCD context, tx status and translation table

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
13 years agoiwlagn: move the tx allocation funcs to the transport layer
Emmanuel Grumbach [Tue, 28 Jun 2011 15:58:41 +0000 (08:58 -0700)]
iwlagn: move the tx allocation funcs to the transport layer

These functions allocate all the Tx context. Only the simple tx_init is exported as API.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
13 years agoiwlagn: add rx_free to transport layer
Emmanuel Grumbach [Tue, 21 Jun 2011 11:25:45 +0000 (14:25 +0300)]
iwlagn: add rx_free to transport layer

The transport layer ness to release all rx ressources. This function is an API for it.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
13 years agoiwlagn: introduce transport layer and implement rx_init
Emmanuel Grumbach [Tue, 14 Jun 2011 07:13:24 +0000 (10:13 +0300)]
iwlagn: introduce transport layer and implement rx_init

The transport layer is responsible for all the queues, DMA rings etc...
This is the beginning of the separation of all the code that is tighly
related to HW design to the aforementioned transport layer.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
13 years agoiwlagn: add module parameter to disable stuck queue watchdog timer
Wey-Yi Guy [Sat, 25 Jun 2011 16:17:41 +0000 (09:17 -0700)]
iwlagn: add module parameter to disable stuck queue watchdog timer

Add the parameter to disable stuck queue watchdog timer, different platforms
might have different timing. Provide the option to disable the timer to prevent
un-necessary firmware reload.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
13 years agoiwlagn: add correct firmware name for 135 series
Wey-Yi Guy [Fri, 1 Jul 2011 14:47:59 +0000 (07:47 -0700)]
iwlagn: add correct firmware name for 135 series

135 series are WiFi/BT combo and require different uCode from 105 series.
[A
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
13 years agoiwlagn: re-define the testmode cmd and attr enum
Wey-Yi Guy [Fri, 24 Jun 2011 16:02:44 +0000 (09:02 -0700)]
iwlagn: re-define the testmode cmd and attr enum

To make sure not having issues when adding new testmode commands or attributes
in the future, re-define the enum. no functional changes

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
13 years agoiwlagn: verify mutex held for sync commands
Johannes Berg [Mon, 27 Jun 2011 13:06:42 +0000 (06:06 -0700)]
iwlagn: verify mutex held for sync commands

Emmanuel noticed that there's no explicit checking
that prevents the driver from attempting to issue
multiple synchronous commands at the same time and
wrote a patch to check. However, his patch warns
only if a collision actually happened, an unlikely
thing since the driver mutex should be held for
synchronous command submissions.

So instead of checking that a collision happened
add a check that the mutex is held which ensures
that collisions can't happen.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
13 years agortlwifi: potential forever loop in rtl92de_hw_init()
Dan Carpenter [Wed, 29 Jun 2011 06:31:49 +0000 (09:31 +0300)]
rtlwifi: potential forever loop in rtl92de_hw_init()

"i" should be an int here because we are trying to use it to count
to 10000.  The original code looks like it could hang in a forever
loop.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192de: Fix build errors when using allyes configuration
Larry Finger [Tue, 28 Jun 2011 23:55:50 +0000 (18:55 -0500)]
rtlwifi: rtl8192de: Fix build errors when using allyes configuration

After adding rtl8192de to linux-next, making the rtlwifi drivers be built-in
results in the following warnings:

  LD      drivers/net/wireless/rtlwifi/built-in.o
drivers/net/wireless/rtlwifi/rtl8192de/built-in.o: In function `rtl92ce_sw_led_on':
(.text+0x11fb6): multiple definition of `rtl92ce_sw_led_on'
drivers/net/wireless/rtlwifi/rtl8192ce/built-in.o:(.text+0xa326): first defined here
drivers/net/wireless/rtlwifi/rtl8192de/built-in.o:(.bss+0x0): multiple definition of `dm_digtable'
drivers/net/wireless/rtlwifi/rtl8192c/built-in.o:(.bss+0x0): first defined here
ld: Warning: size of symbol `dm_digtable' changed from 40 in drivers/net/wireless/rtlwifi/rtl8192c/built-in.o to 48 in drivers/net/wireless/rtlwifi/rtl8192de/built-in.o
drivers/net/wireless/rtlwifi/rtl8192de/built-in.o: In function `rtl92ce_sw_led_off':
(.text+0x11cfe): multiple definition of `rtl92ce_sw_led_off'
drivers/net/wireless/rtlwifi/rtl8192ce/built-in.o:(.text+0xa06e): first defined here

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Acked-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43: HT-PHY: correct 0x2059 radio init
Rafał Miłecki [Tue, 28 Jun 2011 22:56:49 +0000 (00:56 +0200)]
b43: HT-PHY: correct 0x2059 radio init

Sometimes additional steps are performed while initializing 2059 radio.
We did not find the condition yet, so make it always true for now.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k_htc: Add device ID for Sony UWA-BR100
Mohammed Shafi Shajakhan [Tue, 28 Jun 2011 14:43:41 +0000 (20:13 +0530)]
ath9k_htc: Add device ID for Sony UWA-BR100

for more details please take a look at:
http://comments.gmane.org/gmane.linux.drivers.ath9k.devel/6541
http://www.wikidevi.com/wiki/Sony_UWA-BR100

Reported-by: Thomas Novin <thomas@xyz.pp.se>
Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k: move few descriptor macros to ath9k.h
Mohammed Shafi Shajakhan [Tue, 28 Jun 2011 12:00:54 +0000 (17:30 +0530)]
ath9k: move few descriptor macros to ath9k.h

Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43: HT-PHY: basic PHY init
Rafał Miłecki [Tue, 28 Jun 2011 07:28:39 +0000 (09:28 +0200)]
b43: HT-PHY: basic PHY init

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43: HT-PHY: add init tables
Rafał Miłecki [Tue, 28 Jun 2011 07:28:38 +0000 (09:28 +0200)]
b43: HT-PHY: add init tables

They were written from observing MMIO writes to registers 0x72 0x74 and
0x73 right after phy_write(0x017e) <- 0x3830 which finishes chennel
switching. RegExps were used to translate writes to arrays.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43: HT-PHY: init radio when enabling it
Rafał Miłecki [Mon, 27 Jun 2011 22:08:53 +0000 (00:08 +0200)]
b43: HT-PHY: init radio when enabling it

Masks and sets were found in MMIO dumps by using MMIO hacks. Shortly:
radio_write(0x0c51) <- 0x0070
radio_write(0x0c5a) <- 0x0003
radio_write(0x0146) <- 0x0003
radio_write(0x0546) <- 0x0003
radio_write(0x0946) <- 0x0003
radio_write(0x002e) <- 0x0078
radio_write(0x00c0) <- 0x0080
radio_write(0x002e) <- 0xff87
radio_write(0x00c0) <- 0xff7f
radio_write(0x0011) <- 0xfff7

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43: HT-PHY: replace radio routing magic numbers
Rafał Miłecki [Mon, 27 Jun 2011 22:08:52 +0000 (00:08 +0200)]
b43: HT-PHY: replace radio routing magic numbers

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agowl12xx: AP-mode - use mac80211 indication about STA WME support
Arik Nemtsov [Mon, 27 Jun 2011 20:58:46 +0000 (23:58 +0300)]
wl12xx: AP-mode - use mac80211 indication about STA WME support

When adding a station, use the information given in the mac80211
populated ieee80211_sta structure to determine if it supports WME.
Provide this information to the FW.

This patch depends on "mac80211: propagate information about
STA WME support down".

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211: propagate information about STA WME support down
Arik Nemtsov [Mon, 27 Jun 2011 20:58:45 +0000 (23:58 +0300)]
mac80211: propagate information about STA WME support down

Add a memeber to the ieee80211_sta structure to indicate whether the STA
supports WME.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: use PCI_VENDOR_ID_*
Jon Mason [Mon, 27 Jun 2011 18:03:44 +0000 (13:03 -0500)]
rtlwifi: use PCI_VENDOR_ID_*

Use PCI_VENDOR_ID_* from pci_ids.h instead of creating #define locally.

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: remove unnecessary read of PCI_CAP_ID_EXP
Jon Mason [Mon, 27 Jun 2011 17:50:14 +0000 (12:50 -0500)]
rtlwifi: remove unnecessary read of PCI_CAP_ID_EXP

The PCIE capability offset is saved during PCI bus walking.  It will
remove an unnecessary search in the PCI configuration space if this
value is referenced instead of reacquiring it.

Also, remove unnecessary and unused #defines for PCI.

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlegacy: remove unnecessary read of PCI_CAP_ID_EXP
Jon Mason [Mon, 27 Jun 2011 17:48:54 +0000 (12:48 -0500)]
iwlegacy: remove unnecessary read of PCI_CAP_ID_EXP

The PCIE capability offset is saved during PCI bus walking.  It will
remove an unnecessary search in the PCI configuration space if this
value is referenced instead of reacquiring it.

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43: HT-PHY: implement lacking 0x908 PHY reg op
Rafał Miłecki [Mon, 27 Jun 2011 13:04:47 +0000 (15:04 +0200)]
b43: HT-PHY: implement lacking 0x908 PHY reg op

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43: HT-PHY: add channel switching tables for 2 GHz band
Rafał Miłecki [Mon, 27 Jun 2011 12:58:54 +0000 (14:58 +0200)]
b43: HT-PHY: add channel switching tables for 2 GHz band

Tables were taken from observing writes in MMIO dumps.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43: HT-PHY: perform some tables ops on channel switching
Rafał Miłecki [Mon, 27 Jun 2011 12:58:52 +0000 (14:58 +0200)]
b43: HT-PHY: perform some tables ops on channel switching

Starring at MMIO dumps around PHY channel switching has led to finding
serie of 3 similar ops this patch implements.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43: HT-PHY: upload PHY values when switching channel
Rafał Miłecki [Mon, 27 Jun 2011 12:58:51 +0000 (14:58 +0200)]
b43: HT-PHY: upload PHY values when switching channel

After calibrating radio you can find few PHY writes in MMIO dumps:
 phy_read(0x0009) -> 0x0000
phy_write(0x01ce) <- 0x03dd
phy_write(0x01cf) <- 0x03d9
phy_write(0x01d0) <- 0x03d5
phy_write(0x01d1) <- 0x0424
phy_write(0x01d2) <- 0x0429
phy_write(0x01d3) <- 0x042d
By comparing to N-PHY code we found out that they are PHY tables for
channel switching plus band info read at the beginning.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43: HT-PHY: prepare place for HT-PHY tables
Rafał Miłecki [Mon, 27 Jun 2011 12:58:50 +0000 (14:58 +0200)]
b43: HT-PHY: prepare place for HT-PHY tables

They are big arrays uploaded to the hardware on init, calibration, etc.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
John W. Linville [Tue, 28 Jun 2011 17:53:32 +0000 (13:53 -0400)]
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless-2.6

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

13 years agoiwlagn: use PCI_DMA_* for pci_* operations
John W. Linville [Mon, 27 Jun 2011 19:38:05 +0000 (15:38 -0400)]
iwlagn: use PCI_DMA_* for pci_* operations

"iwlagn: map command buffers BIDI" uses the DMA_* enumerations for DMA
directions, even though the pci_* DMA API is still in use.  That patch
was undoubtedly developed on top of "iwlagn: don't use the PCI wrappers
for DMA operation", which is due in the next release.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211: dynamic PS - don't enter PS when TX frames are pending
Arik Nemtsov [Sun, 26 Jun 2011 09:06:54 +0000 (12:06 +0300)]
mac80211: dynamic PS - don't enter PS when TX frames are pending

Use the tx_frames_pending() driver callback to determine if Tx frames are
pending for its internal queues. If so postpone the dynamic PS timeout
to avoid interrupting Tx traffic.

The commit e8306f989483e4b97a8b37dd268de6c8c6f35e75 enabled this
behavior for drivers with IEEE80211_HW_PS_NULLFUNC_STACK. We enable this
for all drivers supporting dynamic PS.

This patch helps improve performance in noisy environments.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agobcma: main.c needs to include <linux/slab.h>
Geert Uytterhoeven [Sun, 26 Jun 2011 08:19:44 +0000 (10:19 +0200)]
bcma: main.c needs to include <linux/slab.h>

m68k allmodconfig:

drivers/bcma/main.c: In function ‘bcma_release_core_dev’:
drivers/bcma/main.c:68: error: implicit declaration of function ‘kfree’

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
--
http://kisskb.ellerman.id.au/kisskb/buildresult/4243344/

 drivers/bcma/main.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlwifi: use pci_dev->revision, again
Sergei Shtylyov [Fri, 24 Jun 2011 15:39:37 +0000 (19:39 +0400)]
iwlwifi: use pci_dev->revision, again

Commit ff938e43d39e926de74b32a3656c190f979ab642 (net: use pci_dev->revision,
again) already converted this driver to using the 'revision' field of 'struct
pci_dev' but commit 084dd79172cb3aad11d2b7ee5628d57badca7c6e (iwlagn: move PCI
related operations from probe and remove to PCI layer) has again added the code
to read the PCI revision ID register...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomwifiex: restore handling of NULL parameters
Dan Carpenter [Fri, 24 Jun 2011 13:33:35 +0000 (16:33 +0300)]
mwifiex: restore handling of NULL parameters

Prior to a5ffddb70c5cab "mwifiex: remove casts of void pointers" the
code assumed that the data_buf parameter could be a NULL pointer.
The patch preserved some NULL checks but not consistently, so there
was a potential for NULL dereferences and it changed the behavior.
This patch restores the original behavior.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k: Fix locking issue during tx completion
Rajkumar Manoharan [Fri, 24 Jun 2011 12:08:13 +0000 (17:38 +0530)]
ath9k: Fix locking issue during tx completion

The received tx status of aggregated frame without BlockAck may
cause deaf state in AR5416 cards. So the driver does a reset to
recover. When this happens, we release the pcu_lock before doing
a reset as ath_rest acquires pcu_lock. This is ugly and also not
atomic. Fixing this addresses the TX DMA failure also.

ath_tx_complete_aggr can be called from different paths which
takes different variants of spin_lock. This patch also addresses
the following warning.

WARNING: at kernel/timer.c:1011 del_timer_sync+0x4e/0x50()
Call Trace:
 <IRQ>  [<ffffffff8104be3a>] warn_slowpath_common+0x7a/0xb0
 [<ffffffff8104be85>] warn_slowpath_null+0x15/0x20
 [<ffffffff8105915e>] del_timer_sync+0x4e/0x50
 [<ffffffffa03726be>] ath_reset+0x3e/0x210 [ath9k]
 [<ffffffff8135cdaf>] ? _raw_spin_unlock_bh+0x1f/0x30
 [<ffffffffa037760a>] ath_tx_complete_aggr.isra.26+0x54a/0xa40 [ath9k]

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: fix rmmod crash
Stanislaw Gruszka [Fri, 24 Jun 2011 09:34:34 +0000 (11:34 +0200)]
iwlagn: fix rmmod crash

priv->bus.bus_specific pointer is used after priv structures was freed,
in iwl_pci_remove(), what make ugly rmmod crash. This bug was introduced
by current pci changes.

On the way remove fake check, if prober error code is returned from
.probe() function, .remove() will never be called be null drvdata.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.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 unspeficied typo
Joe Perches [Thu, 23 Jun 2011 22:35:18 +0000 (15:35 -0700)]
rt2x00: Fix unspeficied typo

Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211: Drop DS Channel PARAM in directed probe
Paul Stewart [Thu, 23 Jun 2011 17:00:11 +0000 (09:00 -0800)]
mac80211: Drop DS Channel PARAM in directed probe

Do not send DS Channel parameter for directed probe requests
in order to maximize the chance that we get a response.  Some
badly-behaved APs don't respond when this parameter is included.

Signed-off-by: Paul Stewart <pstew@chromium.org>
Reviewed-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agossb: use pci_dev->revision
Sergei Shtylyov [Thu, 23 Jun 2011 14:49:52 +0000 (18:49 +0400)]
ssb: use pci_dev->revision

The bus scan code reads PCI revision ID from the PCI configuration register
while it's already stored by PCI subsystem in the 'revision' 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 agoath9k_hw: make use of the gain_table_entry macro
Mohammed Shafi Shajakhan [Thu, 23 Jun 2011 14:44:29 +0000 (20:14 +0530)]
ath9k_hw: make use of the gain_table_entry macro

Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k_hw: Add carrier leak correction in desired gain calculation
Mohammed Shafi Shajakhan [Thu, 23 Jun 2011 14:33:38 +0000 (20:03 +0530)]
ath9k_hw: Add carrier leak correction in desired gain calculation

Cc: muddin@qca.qualcomm.com
Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k_hw: Fix false tx hung detection in AR9003 chips
Rajkumar Manoharan [Thu, 23 Jun 2011 08:09:13 +0000 (13:39 +0530)]
ath9k_hw: Fix false tx hung detection in AR9003 chips

The edma based (AR9003 family) chips update tx status
descriptors in a common ring buffer for all transmitted
frames. Whenever tx interrupt is raised, the descriptors
are processed and tx status index is moved.

The complete tx stauts ring are updated with beacons tx status
when there are no data frames to be sent for a period of time.
In this state, transmitting data frames causes the driver to
wait for the tx status on an incorrect tx status index though
the status was updated by hw properly. The driver detects this
condition as a h/w hang and does unnecessary chip resets.

This issue was orginally reported in adhoc mode while sending
frames after an idle time.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211: reestablish mis-configured existing Rx BA sessions
Arik Nemtsov [Wed, 22 Jun 2011 22:15:27 +0000 (01:15 +0300)]
mac80211: reestablish mis-configured existing Rx BA sessions

When forming a Rx BA session, sometimes the ADDBA response gets lost.
This leads to a situation where the session is configured locally, but
doesn't exist on the remote side. Subsequent ADDBA requests are declined
by mac80211.

Fix this by assuming the session state of the initiator is the correct
one. When receiving an unexpected ADDBA request on a TID with an active
Rx BA session, delete the existing one and establish a new session.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agobluetooth: uses crypto interfaces, select CRYPTO
Randy Dunlap [Wed, 22 Jun 2011 17:08:11 +0000 (10:08 -0700)]
bluetooth: uses crypto interfaces, select CRYPTO

Recent changes to hci_core.c use crypto interfaces, so select CRYPTO
to make sure that those interfaces are present.

Fixes these build errors when CRYPTO is not enabled:

net/built-in.o: In function `hci_register_dev':
(.text+0x4cf86): undefined reference to `crypto_alloc_base'
net/built-in.o: In function `hci_unregister_dev':
(.text+0x4f912): undefined reference to `crypto_destroy_tfm'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211: restrict advertised HW scan rates
Johannes Berg [Wed, 22 Jun 2011 14:43:48 +0000 (16:43 +0200)]
mac80211: restrict advertised HW scan rates

Advertise only user-requested bitrates in a HW scan.
Note that the hw_scan API doesn't currently have a
way of asking for a specific probe request bitrate,
so we might end up using a bitrate that we don't
advertise as supported. I'll fix that later.

Also add a hexdump printk to hwsim to verify this.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agowireless: unify QoS control field definitions
Johannes Berg [Wed, 22 Jun 2011 08:06:59 +0000 (10:06 +0200)]
wireless: unify QoS control field definitions

Move all that mac80211 has into the generic
ieee80211.h header file and use them. At the
same time move them from mask+shift to just
bits and rename them for consistent names.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agossb: fix ssb clock rate according to broadcom source
Hauke Mehrtens [Tue, 21 Jun 2011 18:53:20 +0000 (20:53 +0200)]
ssb: fix ssb clock rate according to broadcom source

This fix was done according to si_clock_rate function in broadcom siutils.c

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192de: Modify Kconfig and Makefile routines for new driver
Chaoming Li [Fri, 10 Jun 2011 20:12:10 +0000 (15:12 -0500)]
rtlwifi: rtl8192de: Modify Kconfig and Makefile routines for new driver

Set up Kconfig and Makefile for new driver for RTL8192DE.

Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: Fix build problems introduced by merging rtl8192de
Larry Finger [Fri, 10 Jun 2011 20:11:55 +0000 (15:11 -0500)]
rtlwifi: Fix build problems introduced by merging rtl8192de

These patches allow compilation of rtlwifi, rtl8192c_common,
rtl8192ce, rtl8192cu and rtl8192se to compile after rtl8192de
was added.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192de: Merge TX and RX routines
Chaoming Li [Fri, 10 Jun 2011 20:11:40 +0000 (15:11 -0500)]
rtlwifi: rtl8192de: Merge TX and RX routines

Merge routines trx.c and trx.h for RTL8192DE.

Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192de: Merge table routines
Chaoming Li [Fri, 10 Jun 2011 20:11:25 +0000 (15:11 -0500)]
rtlwifi: rtl8192de: Merge table routines

Merge routines table.c and table.h for RTL8192DE.

Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192de: Merge main (sw) routines
Chaoming Li [Fri, 10 Jun 2011 20:11:10 +0000 (15:11 -0500)]
rtlwifi: rtl8192de: Merge main (sw) routines

Merge routines sw.c and sw.h for RTL8192SE.

Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192de: Merge rf routines
Chaoming Li [Fri, 10 Jun 2011 20:10:55 +0000 (15:10 -0500)]
rtlwifi: rtl8192de: Merge rf routines

Merge routines rf.c and rf.h for RTL8192DE.

Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192de: Merge register definitions
Chaoming Li [Fri, 10 Jun 2011 20:10:40 +0000 (15:10 -0500)]
rtlwifi: rtl8192de: Merge register definitions

Merge routines reg.h for RTL8192DE.

Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192de: Merge phy routines
Chaoming Li [Fri, 10 Jun 2011 20:10:25 +0000 (15:10 -0500)]
rtlwifi: rtl8192de: Merge phy routines

Merge routines phy.c and phy.h for RTL8192DE.

Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192de: Merge led routines
Chaoming Li [Fri, 10 Jun 2011 20:10:10 +0000 (15:10 -0500)]
rtlwifi: rtl8192de: Merge led routines

Merge routines led.c and led.h for RTL8192DE.

Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192de: Merge hardware routines
Chaoming Li [Fri, 10 Jun 2011 20:09:55 +0000 (15:09 -0500)]
rtlwifi: rtl8192de: Merge hardware routines

Merge routines hw.c and hw.h for RTL8192DE.

Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192de: Merge firmware routines
Chaoming Li [Fri, 10 Jun 2011 20:09:40 +0000 (15:09 -0500)]
rtlwifi: rtl8192de: Merge firmware routines

Merge routines fw.c and fw.h for RTL8192DE.

Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192de: Merge dynamic management routines
Chaoming Li [Fri, 10 Jun 2011 20:09:25 +0000 (15:09 -0500)]
rtlwifi: rtl8192de: Merge dynamic management routines

Merge routines dm.c and dm.h for RTL8192DE.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agortlwifi: rtl8192de: Merge def.h
Chaoming Li [Fri, 10 Jun 2011 20:09:09 +0000 (15:09 -0500)]
rtlwifi: rtl8192de: Merge def.h

Introduce routine def.h for rtl8192de.

Signed-off-by: Chaoming_Li <chaoming_li@realsil.com.cn>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoMerge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git...
John W. Linville [Mon, 27 Jun 2011 19:03:40 +0000 (15:03 -0400)]
Merge branch 'wireless-next-2.6' of git://git./linux/kernel/git/iwlwifi/iwlwifi-2.6

13 years agomac80211: fix rx->key NULL dereference during mic failure
Arik Nemtsov [Wed, 22 Jun 2011 21:00:24 +0000 (00:00 +0300)]
mac80211: fix rx->key NULL dereference during mic failure

Sometimes when reporting a MIC failure rx->key may be unset. This
code path is hit when receiving a packet meant for a multicast
address, and decryption is performed in HW.

Fortunately, the failing key_idx is not used for anything up to
(and including) usermode, so we allow ourselves to drop it on the
way up when a key cannot be retrieved.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Cc: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: fix *_UCODE_API_MAX output in the firmware field
Evgeni Golov [Sun, 12 Jun 2011 12:34:31 +0000 (05:34 -0700)]
iwlagn: fix *_UCODE_API_MAX output in the firmware field

Currently (3.0-rc2), modinfo iwlagn shows:
    firmware:       iwlwifi-5150-IWL5150_UCODE_API_MAX.ucode
    firmware:       iwlwifi-5000-IWL5000_UCODE_API_MAX.ucode
    firmware:       iwlwifi-6000g2b-IWL6000G2_UCODE_API_MAX.ucode
    firmware:       iwlwifi-6000g2a-IWL6000G2_UCODE_API_MAX.ucode
    firmware:       iwlwifi-6050-IWL6050_UCODE_API_MAX.ucode
    firmware:       iwlwifi-6000-IWL6000_UCODE_API_MAX.ucode
    firmware:       iwlwifi-100-IWL100_UCODE_API_MAX.ucode
    firmware:       iwlwifi-1000-IWL1000_UCODE_API_MAX.ucode
    firmware:       iwlwifi-105-IWL105_UCODE_API_MAX.ucode
    firmware:       iwlwifi-2030-IWL2030_UCODE_API_MAX.ucode
    firmware:       iwlwifi-2000-IWL2000_UCODE_API_MAX.ucode

which is obviously wrong, the user should not see the *_UCODE_API_MAX
macros but the actual ucode API versions here.

The problem are the
    #define *_MODULE_FIRMWARE(api) *_FW_PRE #api ".ucode"
which do not expand api correctly (because this is a macro itself).

Fixed by using __stringify() from linux/stringify.h.

Further information about macro stringification can be found here:
    http://gcc.gnu.org/onlinedocs/cpp/Stringification.html

Signed-off-by: Evgeni Golov <sargentd@die-welt.net>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoMerge branch 'wireless-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi...
John W. Linville [Mon, 27 Jun 2011 18:26:04 +0000 (14:26 -0400)]
Merge branch 'wireless-2.6' of git://git./linux/kernel/git/iwlwifi/iwlwifi-2.6

13 years agoiwlagn: map command buffers BIDI
Johannes Berg [Mon, 27 Jun 2011 14:54:49 +0000 (07:54 -0700)]
iwlagn: map command buffers BIDI

Evidently, the device sometimes wants to write back
to command buffers, even if I see no reason why it
should. Allow it to do that.

Tested-by: Andy Lutomirski <luto@mit.edu>
Tested-by: Kyle McMartin <kyle@redhat.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
13 years agoiwlagn: fix cmd queue unmap
Johannes Berg [Mon, 27 Jun 2011 14:48:52 +0000 (07:48 -0700)]
iwlagn: fix cmd queue unmap

When we stop the device while a command is in
flight that uses multiple TBs, we can leak the
DMA buffers for the second and higher TBs. Fix
this by using iwlagn_unmap_tfd() as we do when
we normally recover the entry.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
13 years agowl12xx: Support routing FW logs to the host
Ido Yariv [Mon, 6 Jun 2011 11:57:06 +0000 (14:57 +0300)]
wl12xx: Support routing FW logs to the host

A recently added feature to the firmware enables the driver to retrieve
firmware logs via the host bus (SDIO or SPI).

There are two modes of operation:
1. On-demand: The FW collects its log in an internal ring buffer. This
   buffer can later be read, for example, upon recovery.
2. Continuous: The FW pushes the FW logs as special packets in the RX
   path.

Reading the internal ring buffer does not involve the FW. Thus, as long
as the HW is not in ELP, it should be possible to read the logs, even if
the FW crashes.

A sysfs binary file named "fwlog" was added to support this feature,
letting a monitor process read the FW messages. The log is transferred
from the FW only when available, so the reading process might block.

Signed-off-by: Ido Yariv <ido@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
13 years agowl12xx: Avoid recovery while one is already in progress
Ido Yariv [Mon, 6 Jun 2011 11:57:05 +0000 (14:57 +0300)]
wl12xx: Avoid recovery while one is already in progress

During recovery work commands sent to the FW could fail and schedule
additional recovery work. Since the chip is going to be powered off,
avoid recursive recoveries.

Signed-off-by: Ido Yariv <ido@wizery.com>
Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
13 years agowl12xx: Check for FW quirks as soon as the FW boots
Ido Yariv [Mon, 6 Jun 2011 11:57:04 +0000 (14:57 +0300)]
wl12xx: Check for FW quirks as soon as the FW boots

The FW initialization might depend on the FW revision, so check for any
FW quirks right after booting it.

Signed-off-by: Ido Yariv <ido@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
13 years agowl12xx: use freezable workqueue for netstack_work
Eliad Peller [Tue, 7 Jun 2011 09:50:46 +0000 (12:50 +0300)]
wl12xx: use freezable workqueue for netstack_work

When resuming (after wowlan), we want the rx packets (which is
usually the wake-up packet itself) to be passed to mac80211 only
after the resume notifier was completed, and mac80211 is up and
running (otherwise, the packets will be dropped).

By enqueueing the netstack_work to a freezable workqueue, we can
guarantee the rx processing to occur only after mac80211 was resumed.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Ido Yariv <ido@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>