GitHub/mt8127/android_kernel_alcatel_ttab.git
12 years agobrcmsmac: extend brcms_c_chipmatch() to also handle non PCIe devices
Hauke Mehrtens [Sat, 30 Jun 2012 13:16:19 +0000 (15:16 +0200)]
brcmsmac: extend brcms_c_chipmatch() to also handle non PCIe devices

Now brcms_c_chipmatch() is also able to handle non PCI devices and also
does some checking for SoC if they are supported by brcmsmac.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmsmac: fix DMA on SoCs
Hauke Mehrtens [Sat, 30 Jun 2012 13:16:18 +0000 (15:16 +0200)]
brcmsmac: fix DMA on SoCs

These extra offsets are only needed by PCIe devices and not when
running on an SoC.

This partly reverts commit:
commit 821e4e93172e4f7d5ac1eade04665c3dc5049c4a
Author: Roland Vossen <rvossen@broadcom.com>
Date:   Mon Aug 8 15:58:58 2011 +0200

    staging: brcm80211: removed unused bus code from softmac

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmsmac: extend xmtfifo_sz array
Hauke Mehrtens [Mon, 2 Jul 2012 18:15:51 +0000 (20:15 +0200)]
brcmsmac: extend xmtfifo_sz array

The xmtfifo_sz array contains the queue sizes for the different core
revs. This array missed the sizes for the core rev 17 and 28. This
patch extends the array to also include these sizes and adds a warning
if no queue size is stored in the array for the given core rev.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmsmac: add some workarounds for other chips again
Hauke Mehrtens [Sat, 30 Jun 2012 13:16:16 +0000 (15:16 +0200)]
brcmsmac: add some workarounds for other chips again

This adds some workarounds for the BCM4716, BCM47162, BCM5357 to the
phy code again. This patch reverts parts of the following patch.

commit c2c724977f95135f397fe0cb45f3c041d26b91e1
Author: Arend van Spriel <arend@broadcom.com>
Date:   Wed Jun 29 16:46:35 2011 -0700

    staging: brcm80211: remove unsupported chipset code from brcmsmac phy

The BCM4716 is working for me with an other firmware and I am working
on adding support for the other chips.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmsmac: add a conditions for core rev 17 again
Hauke Mehrtens [Sat, 30 Jun 2012 13:16:15 +0000 (15:16 +0200)]
brcmsmac: add a conditions for core rev 17 again

This reverts some changes made in this commit:
commit 7234592364e2efe8b4ac1040c99b1d7ef01cf502
Author: Roland Vossen <rvossen@broadcom.com>
Date:   Mon Feb 14 12:16:45 2011 +0100

    staging: brcm80211: removal of inactive d11 code

The bcm4716 has a rev 17 wireless core and this condition is needed.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmsmac: remove some unnessessacry casts and void pointer
Hauke Mehrtens [Sat, 30 Jun 2012 13:16:14 +0000 (15:16 +0200)]
brcmsmac: remove some unnessessacry casts and void pointer

Acked-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmsmac: use chip and package id constants from bcma
Hauke Mehrtens [Sat, 30 Jun 2012 13:16:13 +0000 (15:16 +0200)]
brcmsmac: use chip and package id constants from bcma

This patch depends on addin the chip IDs to bcma done in this commit in
my pending patch series for bcma.
Author: Hauke Mehrtens <hauke@hauke-m.de>
Date:   Sun Jun 3 18:17:57 2012 +0200

    bcma: add constants for chip ids

Acked-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmsmac: use core id constants from bcma
Hauke Mehrtens [Sat, 30 Jun 2012 13:16:12 +0000 (15:16 +0200)]
brcmsmac: use core id constants from bcma

This patch depends on adding the IDs to bcma done in
this commit in my pending patch series for bcma.
Author: Hauke Mehrtens <hauke@hauke-m.de>
Date:   Sun Jun 3 18:17:57 2012 +0200

    bcma: add constants for chip ids

Acked-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmsmac: remove some redundant chip common workarounds
Hauke Mehrtens [Sat, 30 Jun 2012 13:16:11 +0000 (15:16 +0200)]
brcmsmac: remove some redundant chip common workarounds

The removed workarounds are already performed in bcma_pmu_workarounds()
and bcma_core_chipcommon_init()

This patch depends on the completion of the workarounds in bcma done in
this commit in my pending patch series for bcma.
Author: Hauke Mehrtens <hauke@hauke-m.de>
Date:   Mon Jun 4 00:20:26 2012 +0200

    bcma: complete workaround for BCMA43224 and BCM4313

Acked-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmsmac: remove si_pmu_spuravoid_pllupdate()
Hauke Mehrtens [Sat, 30 Jun 2012 13:16:10 +0000 (15:16 +0200)]
brcmsmac: remove si_pmu_spuravoid_pllupdate()

si_pmu_spuravoid_pllupdate() is now replaced by
bcma_pmu_spuravoid_pllupdate() which does the same thing, but supports
more chips.

This function is in my pending patch series for bcma.
Author: Hauke Mehrtens <hauke@hauke-m.de>
Date:   Mon Jun 4 01:31:32 2012 +0200

    bcma: add bcma_pmu_spuravoid_pllupdate()

Acked-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmsmac: remove si_pmu_init() and si_pmu_res_init()
Hauke Mehrtens [Sat, 30 Jun 2012 13:16:09 +0000 (15:16 +0200)]
brcmsmac: remove si_pmu_init() and si_pmu_res_init()

This is already done by bcma_pmu_init() and bcma_pmu_resources_init() in bcma.

Acked-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmsmac: remove ai_findcore()
Hauke Mehrtens [Sat, 30 Jun 2012 13:16:08 +0000 (15:16 +0200)]
brcmsmac: remove ai_findcore()

bcma also stores a pointer to the chipcommon core in its struct,
brcmsmac should use it and not search for the core by its own.

Acked-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmsmac: use container_of instead of cast
Hauke Mehrtens [Sat, 30 Jun 2012 13:16:07 +0000 (15:16 +0200)]
brcmsmac: use container_of instead of cast

Now "struct si_pub pub" does not have to be the first member in struct
si_info any more, if it is the resulting code after compilation should
be the same.

Acked-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmsmac: remove ai_get_buscore{type,rev}()
Hauke Mehrtens [Sat, 30 Jun 2012 13:16:06 +0000 (15:16 +0200)]
brcmsmac: remove ai_get_buscore{type,rev}()

These two functions are not used any more.

Acked-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmsmac: remove PCI_FORCEHT() macro
Hauke Mehrtens [Sat, 30 Jun 2012 13:16:05 +0000 (15:16 +0200)]
brcmsmac: remove PCI_FORCEHT() macro

The BCM4716 is a SoC and does not have a PCI client interface, so this
condition is never true.

Acked-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmsmac: remove PCIE() macro
Hauke Mehrtens [Sat, 30 Jun 2012 13:16:04 +0000 (15:16 +0200)]
brcmsmac: remove PCIE() macro

Instead of checking if there is a PCIe core on the bus, better check if
hosttype is PCIe.

In the original submission to staging PCIE() checked, if the bustype is
PCI and the buscore is a PCIe core. Now we assume that all cores bcma
supports are PCIe based, so we just have to check if the bustype is PCI.

The old code bcmsmac currently uses searches for a PCIe core on the bus
and if there is one assumes that this is the buscore, which is wrong.
Some SoCs have a PCIe core operating in host mode and this is not the
bus core. The old code also caused a null pointer in
ai_get_buscoretype() and ai_get_buscorerev() if buscore was not set
because there was no PCIe core on the bus.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoiwmc3200wifi: remove driver for unavailable hardware
John W. Linville [Tue, 26 Jun 2012 19:10:12 +0000 (15:10 -0400)]
iwmc3200wifi: remove driver for unavailable hardware

This hardware never became available to normal humans.  Leaving this
driver imposes unwelcome maintenance costs for no clear benefit.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agowlcore: fix a couple small memory leaks
Dan Carpenter [Sat, 30 Jun 2012 12:07:55 +0000 (15:07 +0300)]
wlcore: fix a couple small memory leaks

We should free "chunk" here before returning the error code.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
12 years agowlcore: determine AP extra rates correctly
Arik Nemtsov [Thu, 5 Jul 2012 12:23:02 +0000 (15:23 +0300)]
wlcore: determine AP extra rates correctly

Don't use the ht_mode module parameter for determining AP supported
rates. We can rely on channel type, since HT40 won't be enabled if our
HT cap doesn't support it.

Enable MIMO only if there enough antennas, and rely on per-peer rate
limitation to prevent IOPs.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
12 years agowlcore: check ssid length against the correct element
Eliad Peller [Tue, 3 Jul 2012 12:51:20 +0000 (15:51 +0300)]
wlcore: check ssid length against the correct element

commit 587cc28 ("wlcore: compare ssid_len before comparing
ssids") introduced a new bug - the ssid length from the
request struct was compared against the ssid length of
another request, instead the one of the cmd.

This might cause the sched scan request to fail
(with -EINVAL) in many cases.

Signed-off-by: Eliad Peller <eliad@wizery.com>
12 years agowl12xx/wl18xx: use a dynamic PS timeout of 1.5sec
Arik Nemtsov [Tue, 3 Jul 2012 08:34:43 +0000 (11:34 +0300)]
wl12xx/wl18xx: use a dynamic PS timeout of 1.5sec

It seems some parties have bad user experience when smaller values
are used. This should have little implications for power consumption,
since traffic is bursty in nature.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
12 years agowlcore: define number of supported bands internally
Arik Nemtsov [Tue, 3 Jul 2012 06:11:03 +0000 (09:11 +0300)]
wlcore: define number of supported bands internally

Avoid using the IEEE80211_NUM_BANDS constant for arrays sizes etc, as
this can contain bands unsupported by the driver (e.g. 60Ghz). Use an
internal constant to determine the number of bands.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
12 years agowlcore: don't set SDIO_FAILED flag when driver state is off
Arik Nemtsov [Tue, 3 Jul 2012 06:00:18 +0000 (09:00 +0300)]
wlcore: don't set SDIO_FAILED flag when driver state is off

If some IO read/write fails while the FW is not loaded, a recovery
will not take place. This means the SDIO_FAILED flag will stay in place
forever and prevent further read/writes.

This can happen if a check for STATE_OFF was forgotten in some routine.

Take this opportunity to rename the flag to IO_FAILED, since we support
other buses as well.

Reported-by: Ido Yariv <ido@wizery.com>
Signed-off-by: Arik Nemtsov <arik@wizery.com>
12 years agowlcore: change the wait for event mechanism
Yoni Divinsky [Wed, 27 Jun 2012 18:35:47 +0000 (21:35 +0300)]
wlcore: change the wait for event mechanism

wlcore needs to wait for certain events for example
for roc complete event. Usually the events are received
from the FW very fast, therefore wlcore can poll with
a short delay and if after a second the event was
not received yet poll with a long (1-5 msec) delay.

This implementation is similar to the sending of
commands to the FW.

Empirically the change reduced the wait for roc event
from ~10-40msec to 100s of usecs.

[replace udelay/msleep with usleep_range - Arik]

Signed-off-by: Yoni Divinsky <yoni.divinsky@ti.com>
Signed-off-by: Arik Nemtsov <arik@wizery.com>
12 years agowlcore: Prevent processing of work items during op_stop
Ido Yariv [Tue, 26 Jun 2012 18:08:58 +0000 (21:08 +0300)]
wlcore: Prevent processing of work items during op_stop

The interrupt line is disabled in op_stop using disable_irq. Since
pending interrupts are synchronized, the mutex has to be released before
disabling the interrupt to avoid a deadlock with the interrupt handler.

In addition, the internal state of the driver is only set to 'off'
after the interrupt is disabled. Otherwise, if an interrupt fires after
the state is set but before the interrupt line is disabled, the
interrupt handler will not be able to acknowledge the interrupt
resulting in an interrupt storm.

The driver's operations might be called during recovery. If these
acquire the mutex after it was released by op_stop, but before the
driver's state is changed, they may queue new work items instead of just
failing. This is especially problematic in the case of scans, in which a
new scan may be scheduled after all scan requests were cancelled.

Signed-off-by: Ido Yariv <ido@wizery.com>
Signed-off-by: Arik Nemtsov <arik@wizery.com>
12 years agowlcore: implement .flush callback
Eliad Peller [Mon, 25 Jun 2012 10:52:33 +0000 (13:52 +0300)]
wlcore: implement .flush callback

implement the .flush() callback by simply calling wl1271_tx_flush().

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
12 years agowl12xx/wlcore: increase FW filename version
Luciano Coelho [Wed, 27 Jun 2012 12:21:10 +0000 (15:21 +0300)]
wl12xx/wlcore: increase FW filename version

We have some API changes and new features in the new firmwares that
are not compatible with older drivers.  Increase the version of the FW
filenames for wl12xx to 5.

Additionally, remove the duplicate definitions from wlcore_i.h and
remove the MODULE_FIRMWARE macro calls from the SDIO and SPI modules,
since they're irrelevant there.

Signed-off-by: Luciano Coelho <coelho@ti.com>
12 years agowlcore: add probe request templates for sched and one-shot scans
Yoni Divinsky [Wed, 27 Jun 2012 10:01:44 +0000 (13:01 +0300)]
wlcore: add probe request templates for sched and one-shot scans

The driver configures the firmware template for probe requests during
the scan process.  If the same template is used for one-shot and sched
scans they will override each other when running scans simultaneously.

This fix works only on firmwares later than X.3.9.2.112 for single
role and X.3.9.2.23 for multi-role.

[Some cleaning-up and renaming of the quirk to something smaller --
Luca.]

Signed-off-by: Yoni Divinsky <yoni.divinsky@ti.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
12 years agowlcore: always clear recovery flag during recovery_work
Arik Nemtsov [Mon, 25 Jun 2012 19:26:20 +0000 (22:26 +0300)]
wlcore: always clear recovery flag during recovery_work

If recovery is called when the FW is off, we should clear the recovery
flag. Otherwise we risk booting the driver in permanent pending-recovery
state.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
12 years agowlcore: avoid debug prints during intended FW recovery
Arik Nemtsov [Mon, 25 Jun 2012 19:26:19 +0000 (22:26 +0300)]
wlcore: avoid debug prints during intended FW recovery

Don't read the FW panic log or print other debug data when recovery is
intended (i.e. FW type switch). This takes valuable time and can be
confusing to the user.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
12 years agowlcore: remove recover cmd from testmode
Arik Nemtsov [Mon, 25 Jun 2012 19:26:18 +0000 (22:26 +0300)]
wlcore: remove recover cmd from testmode

This command is buggy (doesn't take the mutex) and unused. Instead, the
"start_recovery" file is used for the same purpose. Remove the code but
keep the command constant to avoid breaking the testmode ABI.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
12 years agowlcore: don't stop tx queue via watermark if already stopped
Arik Nemtsov [Mon, 25 Jun 2012 19:26:17 +0000 (22:26 +0300)]
wlcore: don't stop tx queue via watermark if already stopped

If a Tx queue is currently stopped because of our Tx watermark flow
control, don't stop it again. This causes a warning to appear.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
12 years agowlcore/wl12xx/wl18xx: check min FW version
Arik Nemtsov [Mon, 25 Jun 2012 14:46:40 +0000 (17:46 +0300)]
wlcore/wl12xx/wl18xx: check min FW version

Refuse to boot if the FW version is too old. The minimum version is set
per chip, with the option of setting it per PG in the future.

When boot fails because of an old FW, display a helpful message.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
12 years agowlcore: enable sched scan while connected
Victor Goldenshtein [Thu, 14 Jun 2012 06:47:40 +0000 (09:47 +0300)]
wlcore: enable sched scan while connected

New wl12xx firmware supports scheduled scans also while connected.
Stop blocking sched scan requests when connected and add a quirk to
block in hardware that don't support it (currently wl18xx doesn't).

This requires FW version 6/7.3.10.2.112 for single-role and
6/7.5.6.0.25 for multi-role.

Signed-off-by: Victor Goldenshtein <victorg@ti.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
12 years agoNFC: Check for llcp_sock and its device from llcp_sock_getname
Samuel Ortiz [Thu, 5 Jul 2012 15:43:08 +0000 (17:43 +0200)]
NFC: Check for llcp_sock and its device from llcp_sock_getname

They both can potentially be NULL.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Add ISO 14443 type B protocol
Samuel Ortiz [Tue, 3 Jul 2012 22:14:04 +0000 (00:14 +0200)]
NFC: Add ISO 14443 type B protocol

Some devices (e.g. Sony's PaSoRi) can not do type B polling, so we have
to make a distinction between ISO14443 type A and B poll modes.

Cc: Eric Lapuyade <eric.lapuyade@intel.com>
Cc: Ilan Elias <ilane@ti.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Use communicate thru only for PaSoRi when trying to read Felica tags
Samuel Ortiz [Tue, 3 Jul 2012 21:45:26 +0000 (23:45 +0200)]
NFC: Use communicate thru only for PaSoRi when trying to read Felica tags

Otherwise DATA_EXCHANGE seems to be just fine.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Add initial Sony RC-S360 support to pn533
Samuel Ortiz [Mon, 2 Jul 2012 18:04:01 +0000 (20:04 +0200)]
NFC: Add initial Sony RC-S360 support to pn533

Sony RC-S360 is also known as the Sony PaSoRi contactless reader.
Only type 2, 3 and 4 tag reading is supported at the moment.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Dereference LLCP bind socket address after checking for it to be NULL
Samuel Ortiz [Fri, 29 Jun 2012 10:03:55 +0000 (12:03 +0200)]
NFC: Dereference LLCP bind socket address after checking for it to be NULL

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Do not return EBUSY when stopping a poll that's already stopped
Samuel Ortiz [Thu, 28 Jun 2012 14:41:57 +0000 (16:41 +0200)]
NFC: Do not return EBUSY when stopping a poll that's already stopped

We check for the polling flag before checking if the netlink PID caller
match.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Remove warning from nfc_llcp_local_put
Samuel Ortiz [Wed, 27 Jun 2012 10:23:48 +0000 (12:23 +0200)]
NFC: Remove warning from nfc_llcp_local_put

The socket local pointer can be NULL when a socket is created but never
bound or connected.

Reported-by: Sasha Levin <levinsasha928@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Handle LLCP Disconnected Mode frames
Samuel Ortiz [Tue, 26 Jun 2012 14:13:29 +0000 (16:13 +0200)]
NFC: Handle LLCP Disconnected Mode frames

When receiving such frame, the sockets waiting for a connection to finish
should be woken up. Connecting to an unbound LLCP service will trigger a
DM as a response.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: LLCP late binding
Samuel Ortiz [Mon, 25 Jun 2012 13:46:28 +0000 (15:46 +0200)]
NFC: LLCP late binding

With the LLCP 16 local SAPs we can potentially quickly run out of source
SAPs for non well known services.
With the so called late binding we will reserve an SAP only when we actually
get a client connection for a local service. The SAP will be released once
the last client is gone, leaving it available to other services.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Forbid SSAP binding to a not well known LLCP service
Samuel Ortiz [Fri, 22 Jun 2012 15:15:20 +0000 (17:15 +0200)]
NFC: Forbid SSAP binding to a not well known LLCP service

With not Well Known Services there is no guarantees as to which
SSAP the server will be listening on, so there is no reason to
support binding to a specific source SAP.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Forbid LLCP service name reusing
Samuel Ortiz [Fri, 22 Jun 2012 13:32:20 +0000 (15:32 +0200)]
NFC: Forbid LLCP service name reusing

This patch fixes a typo and return the correct error when trying to
bind 2 sockets to the same service name.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Release LLCP SAP when the owner is released
Samuel Ortiz [Fri, 22 Jun 2012 12:48:11 +0000 (14:48 +0200)]
NFC: Release LLCP SAP when the owner is released

The LLCP SAP should only be freed when the socket owning it is released.
As long as the socket is alive, the SAP should be reserved in order to
e.g. send the right wks array when bringing the MAC up.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Close listening LLCP sockets when the device is gone
Samuel Ortiz [Fri, 22 Jun 2012 12:40:34 +0000 (14:40 +0200)]
NFC: Close listening LLCP sockets when the device is gone

When the MAC link goes down, we should only keep the bound sockets
alive. They will be closed by sock_release or when the underlying
NFC device is moving away.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Build LLCP general bytes upon request
Samuel Ortiz [Fri, 22 Jun 2012 00:04:53 +0000 (02:04 +0200)]
NFC: Build LLCP general bytes upon request

Drivers will need them before starting a poll or when being activated
as targets. Mostly WKS can have changed between device registration and
then so we need to re-build the whole array.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Fix LLCP getname socket op
Samuel Ortiz [Thu, 21 Jun 2012 15:41:42 +0000 (17:41 +0200)]
NFC: Fix LLCP getname socket op

Set the right target index and use a better socket declaration routine.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Update LLCP socket target index when getting a connection
Samuel Ortiz [Mon, 18 Jun 2012 19:38:09 +0000 (21:38 +0200)]
NFC: Update LLCP socket target index when getting a connection

Getting a valid CONNECT means we have a valid target index.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Add netlink module alias for NFC
Samuel Ortiz [Tue, 12 Jun 2012 14:54:16 +0000 (16:54 +0200)]
NFC: Add netlink module alias for NFC

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Add modules alias for NFC sockets
Samuel Ortiz [Mon, 11 Jun 2012 22:35:50 +0000 (00:35 +0200)]
NFC: Add modules alias for NFC sockets

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Allow HCI driver to pre-open pipes to some gates
Eric Lapuyade [Tue, 5 Jun 2012 12:42:11 +0000 (14:42 +0200)]
NFC: Allow HCI driver to pre-open pipes to some gates

Some NFC chips will statically create and open pipes for both standard
and proprietary gates. The driver can now pass this information to HCI
such that HCI will not attempt to create and open them, but will instead
directly use the passed pipe ids.

Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: update PN544 HCI driver state when opened/closed
Eric Lapuyade [Wed, 30 May 2012 16:13:06 +0000 (18:13 +0200)]
NFC: update PN544 HCI driver state when opened/closed

Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Error management documentation
Eric Lapuyade [Thu, 3 May 2012 09:49:30 +0000 (11:49 +0200)]
NFC: Error management documentation

Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: nfc_driver_failure() implementation
Eric Lapuyade [Mon, 11 Jun 2012 13:52:38 +0000 (15:52 +0200)]
NFC: nfc_driver_failure() implementation

If the device is polling we sent a 0 target found event.

Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: nfc_targets_found() should accept zero target found
Eric Lapuyade [Thu, 3 May 2012 14:33:32 +0000 (16:33 +0200)]
NFC: nfc_targets_found() should accept zero target found

The semantics for a zero target found event is that the polling operation
could not complete.

Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Core must test the device polling state inside the device lock
Eric Lapuyade [Thu, 3 May 2012 14:21:58 +0000 (16:21 +0200)]
NFC: Core must test the device polling state inside the device lock

There can ever be only one call to nfc_targets_found() after polling
has been engaged. This could be from a target discovered event from
the driver, or from an error handler to notify poll will never complete.

Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Implement HCI driver or internal error management
Eric Lapuyade [Mon, 11 Jun 2012 13:06:56 +0000 (15:06 +0200)]
NFC: Implement HCI driver or internal error management

If there is an ongoing HCI command executing, it will be completed,
thereby pushing the error up to the core. Otherwise, HCI will directly
notify the core with the error.

Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Factorize HCI cmd completion
Eric Lapuyade [Thu, 3 May 2012 13:59:37 +0000 (15:59 +0200)]
NFC: Factorize HCI cmd completion

HCI cmd can be completed either from an HCI response or from an
internal driver or HCI error. This requires to factorize the
completion code outside of the device lock.

Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Driver failure API
Eric Lapuyade [Mon, 11 Jun 2012 11:49:51 +0000 (13:49 +0200)]
NFC: Driver failure API

This API should be used by drivers, HCI, SHDLC or NCI stacks to report an
unrecoverable error.

Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Changed HCI cmd execution completion result to std linux errno
Eric Lapuyade [Thu, 3 May 2012 13:35:25 +0000 (15:35 +0200)]
NFC: Changed HCI cmd execution completion result to std linux errno

An HCI command can complete either from an HCI response
(with an HCI result) or as a consequence of any other system
error during processing. The completion therefore needs to take
a standard errno code. The HCI response will convert its result
to a standard errno before calling the completion.

Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Implement HCP reaggregation allocation error case
Eric Lapuyade [Mon, 11 Jun 2012 11:36:52 +0000 (13:36 +0200)]
NFC: Implement HCP reaggregation allocation error case

We can now report an ENOMEM error up to the HCI layer.

Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Remove an impossible HCI error case
Eric Lapuyade [Wed, 2 May 2012 09:37:19 +0000 (11:37 +0200)]
NFC: Remove an impossible HCI error case

nfc_hci_recv_frame can not be called with a NULL skb.

Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Handle SHDLC RSET frames from an SHDLC connected chip
Eric Lapuyade [Wed, 2 May 2012 09:23:11 +0000 (11:23 +0200)]
NFC: Handle SHDLC RSET frames from an SHDLC connected chip

shdlc reset may leave HCI in an inconsistent state by loosing parts of
HCI frames. Handle this case by reporting an unrecoverable error to HCI.

Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Removed addressed shdlc TODOs
Eric Lapuyade [Thu, 3 May 2012 12:53:20 +0000 (14:53 +0200)]
NFC: Removed addressed shdlc TODOs

The questions asked in the comments have been answered and addressed.

Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoNFC: Prepare asynchronous error management for driver and shdlc
Eric Lapuyade [Mon, 30 Apr 2012 16:21:51 +0000 (18:21 +0200)]
NFC: Prepare asynchronous error management for driver and shdlc

Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
12 years agoath9k: Stop the BTCOEX timers before disabling BTCOEX
Mohammed Shafi Shajakhan [Fri, 6 Jul 2012 14:39:32 +0000 (20:09 +0530)]
ath9k: Stop the BTCOEX timers before disabling BTCOEX

Its safe to stop the BTCOEX timers 'period_timer' and
'no_stomp_timer' before disabling BTCOEX. These timers
can call ath9k_hw_btcoex_enable (or) change the BT
stomp type if they seem to be running after we had
called ath9k_hw_btcoex_disable, which is obviously
not correct.

Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Cc: Bala Shanmugam <bkamatch@qca.qualcomm.com>
Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: Fix MCI cleanup
Mohammed Shafi Shajakhan [Fri, 6 Jul 2012 14:39:16 +0000 (20:09 +0530)]
ath9k: Fix MCI cleanup

We are doing MCI cleanup eventhough BTCOEX is not enabled
via module parameter. This means we do ath_mci_cleanup
though we skipped calling ath_mci_setup. Yet it does not
causes any issues now  as we free the DMA buffer allocated
only when it is allocated during ath_mci_setup.

Reviewed-by: Bala Shanmugam <bkamatch@qca.qualcomm.com>
Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobcma: use custom printing functions
Rafał Miłecki [Thu, 5 Jul 2012 20:07:32 +0000 (22:07 +0200)]
bcma: use custom printing functions

Having bus number printed makes it much easier to anaylze logs on
systems with more buses. For example Netgear WNDR4500 has 3 AMBA buses
in total, which makes standard log really messy.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agob43: N-PHY: fix RSSI calibration
Rafał Miłecki [Thu, 5 Jul 2012 19:55:46 +0000 (21:55 +0200)]
b43: N-PHY: fix RSSI calibration

Specs were updated, change code to match it.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmsmac: fix brcms_c_regd_init() which crashed after 11ad patch
Arend van Spriel [Tue, 3 Jul 2012 18:46:02 +0000 (20:46 +0200)]
brcmsmac: fix brcms_c_regd_init() which crashed after 11ad patch

This patch fixes an OOPS in brcmsmac driver, which was introduced
by the 11ad patch 'cfg80211: add 802.11ad (60gHz band) support'.
The value IEEE80211_NUM_BANDS increased, which was used in the
brcms_c_regd_init() function.

Cc: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Cc: Johannes Berg <johannes.berg@intel.com>
Acked-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: enable support for AR9550
Gabor Juhos [Tue, 3 Jul 2012 17:13:34 +0000 (19:13 +0200)]
ath9k: enable support for AR9550

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: set 4ADDRESS bit in RX filter for AR9550
Gabor Juhos [Tue, 3 Jul 2012 17:13:33 +0000 (19:13 +0200)]
ath9k: set 4ADDRESS bit in RX filter for AR9550

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: enable PLL workaround for AR9550
Gabor Juhos [Tue, 3 Jul 2012 17:13:32 +0000 (19:13 +0200)]
ath9k: enable PLL workaround for AR9550

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: fix PLL initialization for AR9550
Gabor Juhos [Tue, 3 Jul 2012 17:13:31 +0000 (19:13 +0200)]
ath9k: fix PLL initialization for AR9550

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: skip internal regulator configuration for AR9550
Gabor Juhos [Tue, 3 Jul 2012 17:13:30 +0000 (19:13 +0200)]
ath9k: skip internal regulator configuration for AR9550

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: disable SYNC_HOST1_FATAL interrupts for AR9550
Gabor Juhos [Tue, 3 Jul 2012 17:13:29 +0000 (19:13 +0200)]
ath9k: disable SYNC_HOST1_FATAL interrupts for AR9550

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: fix RF channel frequency configuration for AR9550
Gabor Juhos [Tue, 3 Jul 2012 17:13:28 +0000 (19:13 +0200)]
ath9k: fix RF channel frequency configuration for AR9550

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: fix PAPRD settings for AR9550
Gabor Juhos [Tue, 3 Jul 2012 17:13:27 +0000 (19:13 +0200)]
ath9k: fix PAPRD settings for AR9550

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: fix antenna control configuration for AR9550
Gabor Juhos [Tue, 3 Jul 2012 17:13:26 +0000 (19:13 +0200)]
ath9k: fix antenna control configuration for AR9550

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: fix XPABIASLEVEL settings for AR9550
Gabor Juhos [Tue, 3 Jul 2012 17:13:25 +0000 (19:13 +0200)]
ath9k: fix XPABIASLEVEL settings for AR9550

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: read spur frequency information from eeprom for AR9550
Gabor Juhos [Tue, 3 Jul 2012 17:13:24 +0000 (19:13 +0200)]
ath9k: read spur frequency information from eeprom for AR9550

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: add mode register initialization code for AR9550
Gabor Juhos [Tue, 3 Jul 2012 17:13:23 +0000 (19:13 +0200)]
ath9k: add mode register initialization code for AR9550

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: add initvals for AR9550
Gabor Juhos [Tue, 3 Jul 2012 17:13:22 +0000 (19:13 +0200)]
ath9k: add initvals for AR9550

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: enable TX/RX data byte swap for AR9550
Gabor Juhos [Tue, 3 Jul 2012 17:13:21 +0000 (19:13 +0200)]
ath9k: enable TX/RX data byte swap for AR9550

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: clear pciexpress flag for AR9550
Gabor Juhos [Tue, 3 Jul 2012 17:13:20 +0000 (19:13 +0200)]
ath9k: clear pciexpress flag for AR9550

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: add BB name string for AR9550
Gabor Juhos [Tue, 3 Jul 2012 17:13:19 +0000 (19:13 +0200)]
ath9k: add BB name string for AR9550

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: add platform_device_id for AR9550
Gabor Juhos [Tue, 3 Jul 2012 17:13:18 +0000 (19:13 +0200)]
ath9k: add platform_device_id for AR9550

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: set MAC version for AR9550
Gabor Juhos [Tue, 3 Jul 2012 17:13:17 +0000 (19:13 +0200)]
ath9k: set MAC version for AR9550

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: define MAC version for AR9550
Gabor Juhos [Tue, 3 Jul 2012 17:13:16 +0000 (19:13 +0200)]
ath9k: define MAC version for AR9550

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: define DEVID for QCA955x
Gabor Juhos [Tue, 3 Jul 2012 17:13:15 +0000 (19:13 +0200)]
ath9k: define DEVID for QCA955x

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agonet/wireless: remove macro defined twice with same value
Oskar Schirmer [Tue, 3 Jul 2012 09:31:48 +0000 (09:31 +0000)]
net/wireless: remove macro defined twice with same value

In the list of commands CMD_802_11_EEPROM_ACCESS had been
defined twice, unnecessarily, luckily with same value.

Remove one occurence.

Signed-off-by: Oskar Schirmer <oskar@scara.com>
Cc: Marcelo Tosatti <marcelo@kvack.org>
Cc: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agomwifiex: add set_antenna handler support
Amitkumar Karwar [Tue, 3 Jul 2012 02:32:33 +0000 (19:32 -0700)]
mwifiex: add set_antenna handler support

This enables user to set mode of Tx/Rx path using "iw set antenna"
command. For non MIMO chips, the command will be used for selecting
specific antenna or configuring antenna diversity mode.

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>
12 years agoath9k_hw: fix AR9462 2g5g switch on full reset
Rajkumar Manoharan [Sun, 1 Jul 2012 14:23:55 +0000 (19:53 +0530)]
ath9k_hw: fix AR9462 2g5g switch on full reset

On full reset, mci reset will put LNA update on 2G mode. And
Whenever 2g5g_switch is forced at the end of full reset, lna
update should not be skipped. Not doing so, is affecting WLAN
rx and causing beacon loss when BTCOEX is enabled on AR9462.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: fix power consumption on network sleep when BTCOEX is enabled
Rajkumar Manoharan [Sun, 1 Jul 2012 14:23:54 +0000 (19:53 +0530)]
ath9k: fix power consumption on network sleep when BTCOEX is enabled

The chip is waken up for every 45ms in btcoex timer cycle to
for sharing the radio between BT and WLAN. Whenever the wlan
interface is in network sleep mode, do not schedule hw timers.
This could reduce power consumption on idle associated state.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: fix fullsleep power consumption when BTCOEX is enabled
Rajkumar Manoharan [Sun, 1 Jul 2012 14:23:53 +0000 (19:53 +0530)]
ath9k: fix fullsleep power consumption when BTCOEX is enabled

As soon as the interface brought up, btcoex timer starts running
eventhough the interface is in idle state and WLAN chip is moved
to full sleep mode. There is no point in running btcoex timer when
the wlan interface is in sleep mode and also it might consumes
more power on WLAN idle unassociated state. So lets stop the
btcoex when wlan is idle state.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k_hw: do not load noise floor readings when it is running
Rajkumar Manoharan [Sun, 1 Jul 2012 14:23:52 +0000 (19:53 +0530)]
ath9k_hw: do not load noise floor readings when it is running

Noise floor calibration is performed on longcal interval and
the reading will be updated in history buffer. On rare occasions,
the previous noisefloor calibration might not be completed within
the period and trying to load nf reading will be failed. In such
situation, postpone the nf cabliration to next cycle to give
enough time to complete the calibration. This was already taken
care for ar9002 chips.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k_hw: start noisefloor calibration after MCI reset
Rajkumar Manoharan [Sun, 1 Jul 2012 14:23:51 +0000 (19:53 +0530)]
ath9k_hw: start noisefloor calibration after MCI reset

noisefloor calibration has to be loaded and started after
chip reset completion and restoring chainmask. Right now it is
being started before MCI reset completion on full reset. Fix that.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobcma: add mdelay bcma_pmu_resources_init()
Hauke Mehrtens [Fri, 29 Jun 2012 23:44:45 +0000 (01:44 +0200)]
bcma: add mdelay bcma_pmu_resources_init()

This is based on code from brcmsmac.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>