firefly-linux-kernel-4.4.55.git
12 years agoath9k_hw: Update AR9485 initvals
Sujith Manoharan [Mon, 12 Nov 2012 05:26:43 +0000 (10:56 +0530)]
ath9k_hw: Update AR9485 initvals

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k_hw: Fix wrong peak detector DC offset
Rajkumar Manoharan [Fri, 9 Nov 2012 09:21:30 +0000 (14:51 +0530)]
ath9k_hw: Fix wrong peak detector DC offset

An issue is reported in AR9462 & AR9565 that NF_cal_not_done is
not observed when HW peak detector calibration is disabled. At that
state, the HW is stuck at NF calibration which prevents tx output.
The root cause is wrong peak detector offset calibrated by HW. To
resolve this issue, peak detector calibration is done manually by SW
for AR9462 and AR9565.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agomwl8k: Send BASTREAM firmware commands per vif
Yogesh Ashok Powar [Thu, 8 Nov 2012 13:40:44 +0000 (19:10 +0530)]
mwl8k: Send BASTREAM firmware commands per vif

The firmware supports 8 macid's corresponding to 8 BSS that can be
created in an MBSS environment. Currently, BASTREAM commands were always
sent with macid 0. This macid is used to configure the hardware ampdu
registers with appropriate BSS address in an MBSS environment.
This mac address is used by the hardware for various ampdu related requirements
e.g. source address in BAR generation, BA interpretation e.t.c.
Using invalid macid results in this mac address not getting appropriately
configured in the hardware which results in issues during ampdu traffic.

Fix this by sending the BASTREAM commands with appropriate macid.

Signed-off-by: Nishant Sarmukadam <nishants@marvell.com>
Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agossb: fix SPROM offset
Piotr Haber [Thu, 8 Nov 2012 08:47:27 +0000 (09:47 +0100)]
ssb: fix SPROM offset

Offset for temperature compensation
values is wrong in ssb SPROMv8 map.

Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Piotr Haber <phaber@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: [DFS] add pulse width tolerance for ETSI
Zefir Kurtisi [Wed, 31 Oct 2012 11:23:01 +0000 (12:23 +0100)]
ath9k: [DFS] add pulse width tolerance for ETSI

Add 5% width tolerance for radar patterns defined by ETSI.

Signed-off-by: Zefir Kurtisi <zefir.kurtisi@neratec.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoMerge branch 'for-linville' of git://github.com/kvalo/ath6kl
John W. Linville [Fri, 16 Nov 2012 19:08:14 +0000 (14:08 -0500)]
Merge branch 'for-linville' of git://github.com/kvalo/ath6kl

12 years agoMerge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi...
John W. Linville [Fri, 16 Nov 2012 19:07:54 +0000 (14:07 -0500)]
Merge branch 'for-john' of git://git./linux/kernel/git/iwlwifi/iwlwifi-next

Conflicts:
drivers/net/wireless/iwlwifi/pcie/trans.c

12 years agoMerge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac802...
John W. Linville [Fri, 16 Nov 2012 18:59:51 +0000 (13:59 -0500)]
Merge branch 'for-john' of git://git./linux/kernel/git/jberg/mac80211-next

12 years agoath6kl: support NL80211_USER_REG_HINT_CELL_BASE events
Kalle Valo [Thu, 15 Nov 2012 14:34:56 +0000 (16:34 +0200)]
ath6kl: support NL80211_USER_REG_HINT_CELL_BASE events

As ath6kl firmware can't do intersections the driver should only listen
to regdom changes from cellular base stations, all other requests need to
be refused.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
12 years agomwl8k: Set packet timestamp to 0 when life time expiry is not used
Nishant Sarmukadam [Tue, 6 Nov 2012 13:53:15 +0000 (19:23 +0530)]
mwl8k: Set packet timestamp to 0 when life time expiry is not used

Set tx packet timestamp to 0 in following scenarios:-
- All packets in STA mode
- Mgmt packets in AP mode
- Eapol packets in AP mode

In STA mode, this field is unused in the firmware. In AP
mode, we should not be expiring mgmt and eapol frames.
Setting timestamp to 0 will ensure that.

Signed-off-by: Nishant Sarmukadam <nishants@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agomwl8k: Do not expire eapol frames
Nishant Sarmukadam [Tue, 6 Nov 2012 13:53:01 +0000 (19:23 +0530)]
mwl8k: Do not expire eapol frames

This can cause issues when clients try to connect when the
traffic is heavy

Signed-off-by: Nishant Sarmukadam <nishants@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agomwl8k: Unmap the pci DMA address in xmit error path
Nishant Sarmukadam [Tue, 6 Nov 2012 13:52:48 +0000 (19:22 +0530)]
mwl8k: Unmap the pci DMA address in xmit error path

We should unmap the DMA address in the error path, else it
causes resource leaks. Fix this.

Signed-off-by: Nishant Sarmukadam <nishants@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agomwl8k: recheck if station still has valid rates
Yogesh Ashok Powar [Tue, 6 Nov 2012 13:52:35 +0000 (19:22 +0530)]
mwl8k: recheck if station still has valid rates

We have 6.5 Mbps is minimum rate of the link
as the criterion for creation of BA.

Although we check this before creating the BA
stream, by the time amdpu_action is called from
the workqueue, the link can get affected in the
meantime.
Hence, add an additional check in amdpu_action.

Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com>
Signed-off-by: Nishant Sarmukadam <nishants@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agomwl8k: defining interface combinations
Yogesh Ashok Powar [Tue, 6 Nov 2012 13:52:16 +0000 (19:22 +0530)]
mwl8k: defining interface combinations

AP mode support upto 8 interfaces.
Defining it using iface_combinations

Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agomwifiex: process RX packets in SDIO IRQ thread directly
Bing Zhao [Tue, 6 Nov 2012 00:59:15 +0000 (16:59 -0800)]
mwifiex: process RX packets in SDIO IRQ thread directly

ksdioirqd has higher priority than kworker. Process RX packets
in SDIO IRQ thread (ksdioirqd/mmcX) directly instead of deferring
the work to kworker to avoid the extra latency.
This improves TCP throughput 15~20% on an ARM platform with SDIO
2.0 controller.

Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: use struct brcmf_if parameter in firmware event callbacks
Arend van Spriel [Tue, 6 Nov 2012 00:22:32 +0000 (16:22 -0800)]
brcmfmac: use struct brcmf_if parameter in firmware event callbacks

Firmware events are passed to wl_cfg80211 module associated with
the primary net device. With virtual interface support events can
be received for different interfaces, ie. struct brcmf_if instances.
Pass it in the event to determine appropriate net device associated
with the event.

Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: add dedicated USB log level.
Hante Meuleman [Tue, 6 Nov 2012 00:22:31 +0000 (16:22 -0800)]
brcmfmac: add dedicated USB log level.

Add USB log level and update and add log messages in usb module.

Reviewed-by: Arend Van Spriel <arend@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: on halting driver check before release or free.
Hante Meuleman [Tue, 6 Nov 2012 00:22:30 +0000 (16:22 -0800)]
brcmfmac: on halting driver check before release or free.

brcmf_netdev_stop shall first check bus_if status before bringing
down cfg80211. brcmf_detach shall first check if driver is
allocated.

Reviewed-by: Arend Van Spriel <arend@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: check bus state to be data before sending data.
Hante Meuleman [Tue, 6 Nov 2012 00:22:29 +0000 (16:22 -0800)]
brcmfmac: check bus state to be data before sending data.

brcmf_netdev_start_xmit and brcmf_fil_cmd_data are checking
bus state for down. These functions should check for data
state.

Reviewed-by: Arend Van Spriel <arend@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: return immediately error for out of range key_idx.
Hante Meuleman [Tue, 6 Nov 2012 00:22:28 +0000 (16:22 -0800)]
brcmfmac: return immediately error for out of range key_idx.

when brcmf_cfg80211_del_key was called with out of range key index
then firmware would return error. Checking was added to
brcmf_cfg80211_del_key to immediately return error.

Reviewed-by: Arend Van Spriel <arend@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: fix build regression
Arend van Spriel [Tue, 6 Nov 2012 00:22:27 +0000 (16:22 -0800)]
brcmfmac: fix build regression

This fixes a build regression for x86_64 target that showed up
in 3.7-rc1 due to:

commit 1a87334239757b69eb9885979c32bbf871b3ec88
Author: Hante Meuleman <meuleman@broadcom.com>
Date:   Thu Sep 27 14:17:54 2012 +0200

    brcmfmac: add hostap supoort.

Reported-by: Yuanhan Liu <yuanhan.liu@intel.com>
Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: change return type of brcmf_sdio_hdparser
Franky Lin [Tue, 6 Nov 2012 00:22:26 +0000 (16:22 -0800)]
brcmfmac: change return type of brcmf_sdio_hdparser

Use int instead of bool as the return type of function
brcmf_sdio_hdparser to explicitly describe error returns.

Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: remove brcmf_sdbrcm_wait_for_event
Franky Lin [Tue, 6 Nov 2012 00:22:25 +0000 (16:22 -0800)]
brcmfmac: remove brcmf_sdbrcm_wait_for_event

brcmf_sdbrcm_wait_for_event is now a one line function and only
used by brcmf_sdbrcm_bus_txctl. Intergrate the function call
wait_event_interruptible_timeout into brcmf_sdbrcm_bus_txctl.

Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: protect consecutive SDIO access with sdio_claim_host
Franky Lin [Tue, 6 Nov 2012 00:22:24 +0000 (16:22 -0800)]
brcmfmac: protect consecutive SDIO access with sdio_claim_host

Semaphore sdsem is used to protect consecutive memory access
through SDIO bus. Same functionality is provided by sdio_claim_host/
sdio_release_host interface as well. Replace sdsem with
sdio_claim_host.

Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: decrease the range of SDIO access lock
Franky Lin [Tue, 6 Nov 2012 00:22:23 +0000 (16:22 -0800)]
brcmfmac: decrease the range of SDIO access lock

Semaphore sdsem which protects consecutive SDIO bus access is used
to lock down unnecessary wide range. Decrease the locking range
provides the capability of parallel processing.

Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: use dynamically allocated control frame buffer
Franky Lin [Tue, 6 Nov 2012 00:22:22 +0000 (16:22 -0800)]
brcmfmac: use dynamically allocated control frame buffer

Rxbuf in SDIO interface is used in normal frame and control frame
read. Use dynamically allocated buffer in control frame read path
for post processing to avoid conflicts.

Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: fix NULL pointer access in brcmf_create_iovar()
Arend van Spriel [Tue, 6 Nov 2012 00:22:21 +0000 (16:22 -0800)]
brcmfmac: fix NULL pointer access in brcmf_create_iovar()

The function brcmf_fil_bsscfg_data_get() calls brcmf_create_iovar()
with data pointer set to NULL, which caused a NULL pointer access.
As it should be possible to provide data in message towards the
firmware, it should just pass the data buffer instead.

Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: remove obsolete function brcmf_c_mkiovar
Hante Meuleman [Tue, 6 Nov 2012 00:22:20 +0000 (16:22 -0800)]
brcmfmac: remove obsolete function brcmf_c_mkiovar

the refactored firmware interface layer made this function obsolete.

Reviewed-by: Arend Van Spriel <arend@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: remove obsolete variable from brcmf_cfg80211_start_ap()
Arend van Spriel [Tue, 6 Nov 2012 00:22:19 +0000 (16:22 -0800)]
brcmfmac: remove obsolete variable from brcmf_cfg80211_start_ap()

The function brcmf_cfg80211_start_ap() had some variables declared
that were not used or not needed any longer. This patch removes
those variables.

Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: change parameter of brcmf_set_management_ie()
Arend van Spriel [Tue, 6 Nov 2012 00:22:18 +0000 (16:22 -0800)]
brcmfmac: change parameter of brcmf_set_management_ie()

The function brcmf_set_management_ie() operates on virtual
interface data and brcmf_cfg80211_vif structure provides
all information needed for interfacing with firmware. As
this function will also be needed for interface without
an associated net device it makes sense to provide the vif
instead of deriving it from the net device.

Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: fix pkt_filter sizeof calculation.
Hante Meuleman [Tue, 6 Nov 2012 00:22:17 +0000 (16:22 -0800)]
brcmfmac: fix pkt_filter sizeof calculation.

sizeof calculation in setting pkt_filter was incorrect. This
patch fixes that and removes related defines which have become
obsolete.

Reviewed-by: Arend Van Spriel <arend@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: use wait_event_timeout for 8021x pending count
Hante Meuleman [Tue, 6 Nov 2012 00:22:16 +0000 (16:22 -0800)]
brcmfmac: use wait_event_timeout for 8021x pending count

brcmf_netdev_wait_pend8021x was polling to see if 8021x data was
already sent. Code was replaced using wait_event_timeout.

Reviewed-by: Arend Van Spriel <arend@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: handle exceptions in brcmf_bus_start correct.
Hante Meuleman [Tue, 6 Nov 2012 00:22:15 +0000 (16:22 -0800)]
brcmfmac: handle exceptions in brcmf_bus_start correct.

On exception during brcmf_bus_start the netdev should be freed,
if already allocated.

Reviewed-by: Arend Van Spriel <arend@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: use fwil for netdev callbacks.
Hante Meuleman [Tue, 6 Nov 2012 00:22:14 +0000 (16:22 -0800)]
brcmfmac: use fwil for netdev callbacks.

Change setting up multicast, mac address and offloading to use the
refactored firmware interface layer. Remove obsolete brcmf_proto_dcmd
function.

Reviewed-by: Arend Van Spriel <arend@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: remove obsolete i-scan and clean up related code.
Hante Meuleman [Tue, 6 Nov 2012 00:22:13 +0000 (16:22 -0800)]
brcmfmac: remove obsolete i-scan and clean up related code.

e-scan has become the default scanning method. This patch removes
the i-scan related code and cleans up e-scan related code to be
always enabled.

Reviewed-by: Arend Van Spriel <arend@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: make pointer type constant in brcmf_set_management_ie()
Arend van Spriel [Tue, 6 Nov 2012 00:22:12 +0000 (16:22 -0800)]
brcmfmac: make pointer type constant in brcmf_set_management_ie()

The vendor ie buffer passed to brcmf_set_management_ie() is not modified
and the caller always provided a constant buffer, which needed a cast.
Better making the buffer parameter of the function constant so the
casts can be removed.

Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: restrict error condition in brcmf_inform_bss()
Arend van Spriel [Tue, 6 Nov 2012 00:22:11 +0000 (16:22 -0800)]
brcmfmac: restrict error condition in brcmf_inform_bss()

The function brcmf_inform_bss() validates the version received
from the device, before processing the individual bss entries.
This error condition is only applicable when the list contains
entries. A specific scan, ie. for a specific ssid, can result
in a scan completion without finding any bss entries. No need
to flag it as an error in the log when this happens.

Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: simplify if-else condition in brcmf_cfg80211_escan()
Arend van Spriel [Tue, 6 Nov 2012 00:22:10 +0000 (16:22 -0800)]
brcmfmac: simplify if-else condition in brcmf_cfg80211_escan()

Code flow was:
err = foo();
if (!err)
return err;
else
goto exit;
return 0;

Changed it to just to exit label if err is non-zero.

Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agobrcmfmac: remove obsolete structure ap_info
Arend van Spriel [Tue, 6 Nov 2012 00:22:09 +0000 (16:22 -0800)]
brcmfmac: remove obsolete structure ap_info

The data stored in ap_info structure is no longer used so remove
it from the driver.

Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoar5523: Don't dereference sta if NULL
Pontus Fuchs [Mon, 5 Nov 2012 20:17:51 +0000 (21:17 +0100)]
ar5523: Don't dereference sta if NULL

A missing else caused a potential NULL dereference.

Reported-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Signed-off-by: Pontus Fuchs <pontus.fuchs@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoar5523: Fix sparse endianness warnings
Pontus Fuchs [Mon, 5 Nov 2012 20:17:50 +0000 (21:17 +0100)]
ar5523: Fix sparse endianness warnings

__be32 variables where used a little careless leading to sparse warnings.
Treat them a little more gentle.

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Pontus Fuchs <pontus.fuchs@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agodrivers/net/wireless/ath/ath6kl/hif.c: drop if around WARN_ON
Julia Lawall [Sat, 3 Nov 2012 20:30:25 +0000 (21:30 +0100)]
drivers/net/wireless/ath/ath6kl/hif.c: drop if around WARN_ON

Just use WARN_ON rather than an if containing only WARN_ON(1).

A simplified version of the semantic patch that makes this transformation
is as follows: (http://coccinelle.lip6.fr/)

// <smpl>
@@
expression e;
@@
- if (e) WARN_ON(1);
+ WARN_ON(e);
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoWireless: rt2x00: Add device id for Sweex LW323 to rt2800usb.c
Jaume Delclòs [Fri, 2 Nov 2012 22:35:20 +0000 (23:35 +0100)]
Wireless: rt2x00: Add device id for Sweex LW323 to rt2800usb.c

This patch adds detection for the Sweex LW323 USB wireless network card
in the rt2x00 driver (just one line in rt2800usb.c).
It applies to linux-3.7-rc3.

Signed-off-by: Jaume Delclòs <jaume@delclos.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agomwifiex: add multi-queue support
Avinash Patil [Fri, 2 Nov 2012 01:44:16 +0000 (18:44 -0700)]
mwifiex: add multi-queue support

This patch adds support for multiple TX queues inside mwifiex
driver. Four different queues according to WMM access categories
are defined for each virtual interface. When a packet is
received from netdev for transmission, tx pending count for
particular queue is incremented and if tx pending count has
reached upper water-mark, this queue is stopped instead of
stopping all queues. Similarly when a packet is successfully
transmitted from device, tx pending count is decremented per
queue and if pending count falls below lower water-mark, queue
operations are again resumed. This ensures that not all
tranmission is blocked if traffic with particular TOS value
suddenly increases.

Also wake all queues after association/IBSS_join/uAP_BSS_start
to enable traffic on all queues.

Signed-off-by: Avinash Patil <patila@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agomwifiex: add support for SDIO card reset
Amitkumar Karwar [Fri, 2 Nov 2012 01:44:14 +0000 (18:44 -0700)]
mwifiex: add support for SDIO card reset

When command timeout happens due to a bug in firmware/hardware,
the timeout handler just prints some debug information. User is
unable to reload the driver in this case.

Inspired by 9a821f5 "libertas: add sd8686 reset_card support",
this patch adds card reset support for SDIO interface when
command timeout happens. If the SDIO host contoller supports
MMC_POWER_OFF|UP|ON operations, the chip will be reset and the
firmware will be re-downloaded.

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 agobrcmfmac: remove duplicated include from dhd_dbg.c
Wei Yongjun [Thu, 1 Nov 2012 05:50:46 +0000 (13:50 +0800)]
brcmfmac: remove duplicated include from dhd_dbg.c

Remove duplicated include.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoar5523: use module_usb_driver to simplify the code
Wei Yongjun [Thu, 1 Nov 2012 01:59:13 +0000 (09:59 +0800)]
ar5523: use module_usb_driver to simplify the code

Use the module_usb_driver() macro to make the code simpler
by eliminating module_init and module_exit calls.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoadd Marvell 88W8688 support to libertas_sdio
Harro Haan [Wed, 31 Oct 2012 22:24:26 +0000 (23:24 +0100)]
add Marvell 88W8688 support to libertas_sdio

This chip is for example used in the GuruPlug.
This patch avoids the following error:
libertas_sdio: failed to load firmware
libertas_sdio: probe of mmc0:0001:1 failed with error -5

The fix is based on code in:
drivers/net/wireless/libertas_uap/uap_sdio_mmc.c

This file can for example be found on the following links:
http://www.xilka.com/sheeva/2.6/2.6.36/2.6.36.2/source/0002-Driver-for-Marvell-Libertas-8688-SDIO-micro-AP-suppo-2.6.35.patch
http://www.downloadsnewit.co.uk/kernel-v3.0.7/

I followed the following wiki to setup a working WiFi client mode
connection on the GuruPlug:
http://wiki.debian.org/libertas

Signed-off-by: Harro Haan <hrhaan@gmail.com>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agocarl9170: kill MODULE_VERSION
Luis R. Rodriguez [Wed, 31 Oct 2012 18:52:51 +0000 (11:52 -0700)]
carl9170: kill MODULE_VERSION

This is pretty pointless. Lets kill this to stop people from
thinking that its actually used. Maybe we should go on
a crusade and kill this completely from the kernel.

Cc: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Acked-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: fix memory leak in DFS pattern detector
Zefir Kurtisi [Wed, 31 Oct 2012 11:22:34 +0000 (12:22 +0100)]
ath9k: fix memory leak in DFS pattern detector

Free instance of pattern detector if requested DFS domain is
not supported.

Signed-off-by: Zefir Kurtisi <zefir.kurtisi@neratec.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: resolve name collision in DFS detector
Zefir Kurtisi [Wed, 31 Oct 2012 11:21:56 +0000 (12:21 +0100)]
ath9k: resolve name collision in DFS detector

set_domain() is already defined in /arch/arm/asm/domain.h

Signed-off-by: Zefir Kurtisi <zefir.kurtisi@neratec.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agowireless: Convert dev_printk(KERN_<LEVEL> to dev_<level>(
Joe Perches [Sun, 28 Oct 2012 08:05:47 +0000 (01:05 -0700)]
wireless: Convert dev_printk(KERN_<LEVEL> to dev_<level>(

dev_<level> calls take less code than dev_printk(KERN_<LEVEL>
and reducing object size is good.
Coalesce formats for easier grep.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agortlwifi: rtl8192ce: rtl8192cu: rtl8192se: rtl81723ae: Turn on building of the new...
Larry Finger [Thu, 25 Oct 2012 18:46:46 +0000 (13:46 -0500)]
rtlwifi: rtl8192ce: rtl8192cu: rtl8192se: rtl81723ae: Turn on building of the new driver

This patch completes the addition of the new driver for the Realtek
RTL8723AE devices by adding the make file and by modifying Kconfig
and Makefile of rtlwifi. Some variable names were shortened to ease
the problem of limiting all lines to 80 characters, thus changes were
made to wifi.h and rtl8192{ce,cu,sw}/hw.c.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: <chaoming_li@realsil.com.cn>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agortlwifi: Modify files for addition of rtl8723ae
Larry Finger [Thu, 25 Oct 2012 18:46:45 +0000 (13:46 -0500)]
rtlwifi: Modify files for addition of rtl8723ae

This patch modifies the files of rtlwifi for the addition of a new driver
to handle the Realtek RTL8723AE wireless device, and introduces a new
routine to maintaim statistics that will be used later for roaming.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: <chaoming_li@realsil.com.cn>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agortlwifi: rtl8723ae: Add new driver
Larry Finger [Thu, 25 Oct 2012 18:46:32 +0000 (13:46 -0500)]
rtlwifi: rtl8723ae: Add new driver

This patch is the addition of files for a new driver to handle
the Realtek RTL8723AE wireless device.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: <chaoming_li@realsil.com.cn>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoMerge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetoot...
John W. Linville [Wed, 14 Nov 2012 19:51:06 +0000 (14:51 -0500)]
Merge branch 'for-upstream' of git://git./linux/kernel/git/bluetooth/bluetooth-next

12 years agoiwlwifi: return commands with error on FW error
Johannes Berg [Tue, 6 Nov 2012 15:36:21 +0000 (16:36 +0100)]
iwlwifi: return commands with error on FW error

When a firmware error occurs, don't just abort synchronous
commands but also return an error (-EIO) and block any new
commands as well. Currently, an error is only returned if
WANT_SKB was set which is confusing and can lead to issues.

Blocking is done until a new firmware image is loaded.

Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agomac80211: reassign channel contexts before stations
Johannes Berg [Wed, 7 Nov 2012 11:40:41 +0000 (12:40 +0100)]
mac80211: reassign channel contexts before stations

Since channel contexts are usually present before
stations can be added to an interface, reassign
before stations them in reconfiguration as well.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agomac80211: clarify interface iteration and make it configurable
Johannes Berg [Tue, 6 Nov 2012 19:23:30 +0000 (20:23 +0100)]
mac80211: clarify interface iteration and make it configurable

During hardware restart, all interfaces are iterated even
though they haven't been re-added to the driver, document
this behaviour. The same also happens during resume, which
is even more confusing since all of the interfaces were
previously removed from the driver. Make this optional so
drivers relying on the current behaviour can still use it,
but to let drivers that don't want this behaviour disable
it.

Also convert all API users, keeping the old semantics
except in hwsim, where the new normal ones are desired.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agomac80211: call driver method when restart completes
Johannes Berg [Tue, 6 Nov 2012 18:18:13 +0000 (19:18 +0100)]
mac80211: call driver method when restart completes

When the driver requests a restart (reconfiguration) it
gets all the normal method calls, but can't really tell
why they're happening. Call a new restart_complete op
in the driver when the restart completes, so it could
keep its own state about the restart and clear it there.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agomac80211: remove unused tracepoint
Johannes Berg [Thu, 8 Nov 2012 17:16:48 +0000 (18:16 +0100)]
mac80211: remove unused tracepoint

Clearly the tracepoint drv_offchannel_tx was
forgotten when that functionality was removed,
remove it now.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agomac80211: add debugfs file for HW queues
Johannes Berg [Thu, 8 Nov 2012 14:29:28 +0000 (15:29 +0100)]
mac80211: add debugfs file for HW queues

Add a debugfs file showing which HW queues were
allocated to a virtual interface, including the
CAB queue for AP interfaces.

Change-Id: I486924e961b6ad6785a79db09620919ee644e703
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agomac80211: fix TX error path
Johannes Berg [Wed, 7 Nov 2012 13:02:30 +0000 (14:02 +0100)]
mac80211: fix TX error path

One error path in ieee80211_subif_start_xmit() will
double-free the SKB. Set it to NULL to prevent that.

This issue was introduced by my channel context
changes.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agomac80211: include export.h in aes_cmac
Emmanuel Grumbach [Wed, 7 Nov 2012 09:13:58 +0000 (11:13 +0200)]
mac80211: include export.h in aes_cmac

This is needed since this file exports functions.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agomac80211: use kstrtoull return value
Johannes Berg [Mon, 5 Nov 2012 19:30:39 +0000 (20:30 +0100)]
mac80211: use kstrtoull return value

If kstrtoull() returns an error code (a value
smaller than zero), use it since it can be an
error other than -EINVAL.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agomac80211: fix race in TKIP MIC test debugfs file
Johannes Berg [Mon, 5 Nov 2012 19:27:57 +0000 (20:27 +0100)]
mac80211: fix race in TKIP MIC test debugfs file

Accessing sdata->vif.bss_conf.bssid without any
protection here is racy, use u.mgd.associated
instead and lock the correct mutex for it.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agomac80211: use mac_pton
Johannes Berg [Mon, 5 Nov 2012 19:24:38 +0000 (20:24 +0100)]
mac80211: use mac_pton

Instead of implementing practically the same
function (hwaddr_aton) use mac_pton.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agonl80211: send the NL80211_ATTR_SSID in nl80211_send_iface()
Antonio Quartulli [Wed, 7 Nov 2012 11:52:20 +0000 (12:52 +0100)]
nl80211: send the NL80211_ATTR_SSID in nl80211_send_iface()

The userspace may want to know what is the current ssid that a given
interface is using. This patch enables nl80211 to send the
NL80211_ATTR_SSID attribute in nl80211_send_iface().

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agocfg80211: store the ssid into wirless_dev in AP mode
Antonio Quartulli [Wed, 7 Nov 2012 11:52:19 +0000 (12:52 +0100)]
cfg80211: store the ssid into wirless_dev in AP mode

Store the configured ssid in wdev->ssid when starting an AP

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agoiwlwifi: fix typo in RX data tracing
Johannes Berg [Tue, 6 Nov 2012 11:37:21 +0000 (12:37 +0100)]
iwlwifi: fix typo in RX data tracing

The printk message should say RX, not TX.

Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agoiwlwifi: remove useless messages
Johannes Berg [Mon, 5 Nov 2012 18:45:36 +0000 (19:45 +0100)]
iwlwifi: remove useless messages

There's no need to print the PCI resource
length and base address, nor the hardware
revision ID (which can be found in lspci)

Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agoiwlwifi: remove SKU/antenna messages by default
Johannes Berg [Mon, 5 Nov 2012 18:48:33 +0000 (19:48 +0100)]
iwlwifi: remove SKU/antenna messages by default

There's no reason to print these all the time,
the messages aren't all that interesting. Leave
them as DEBUG_INFO though, just in case.

Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agoiwlwifi: remove EEPROM version message by default
Johannes Berg [Mon, 5 Nov 2012 18:50:26 +0000 (19:50 +0100)]
iwlwifi: remove EEPROM version message by default

If the EEPROM reading was successful, don't print
a message by default, the EEPROM version isn't all
that interesting. Change the message to DEBUG_INFO
priority so it can still be obtained.

Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agomac80211: pass P2P powersave parameters to driver
Johannes Berg [Mon, 29 Oct 2012 19:08:01 +0000 (20:08 +0100)]
mac80211: pass P2P powersave parameters to driver

While connected to a GO, parse the P2P NoA attribute
and pass the CT Window and opportunistic powersave
parameters to the driver.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agowireless: add utility function to get P2P attribute
Johannes Berg [Mon, 29 Oct 2012 18:48:40 +0000 (19:48 +0100)]
wireless: add utility function to get P2P attribute

Parsing the P2P attributes can be tricky as their
contents can be split across multiple (vendor) IEs.
Thus, it's not possible to parse them like IEs (by
returning a pointer to the data.) Instead, provide
a function that copies the attribute data into a
caller-provided buffer and returns the size needed
(useful in case the buffer was too small.)

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agocfg80211: allow registering more than one beacon listener
Ben Greear [Fri, 26 Oct 2012 21:49:25 +0000 (14:49 -0700)]
cfg80211: allow registering more than one beacon listener

The commit:

commit 5e760230e42cf759bd923457ca2753aacf2e656e
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Fri Nov 4 11:18:17 2011 +0100

    cfg80211: allow registering to beacons

allowed only a single process to register for beacon events
per wiphy.  This breaks cases where a user may want two or
more VIFs on a wiphy and run a seperate hostapd process on
each vif.

This patch allows multiple beacon listeners, fixing the
regression.

Signed-off-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agoiwlwifi: zero trans_cfg before settings its fields
Emmanuel Grumbach [Mon, 5 Nov 2012 10:52:57 +0000 (12:52 +0200)]
iwlwifi: zero trans_cfg before settings its fields

People tend not to set the fields they want to leave as 0.
So make sure the struct is zeroed properly.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agoiwlwifi: check the SCD conf from ALIVE response
Emmanuel Grumbach [Thu, 25 Oct 2012 21:08:27 +0000 (23:08 +0200)]
iwlwifi: check the SCD conf from ALIVE response

The ALIVE response of new fw inclues the base address of
the SCD in SRAM. Until we read it from a prph register,
which was set by the fw. Since the fw might well stop
updating the prph register, add a WARN when there is an
inconsitency between the ALIVE response and the register
to catch any change in the behavior.

Reviewed-by: Gregory Greenman <gregory.greenman@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agoiwlwifi: use list_first_entry
Johannes Berg [Sun, 4 Nov 2012 08:31:25 +0000 (09:31 +0100)]
iwlwifi: use list_first_entry

Instead of open-coding it with a temporary list_head
pointer, just use list_first_entry.

Reviewed-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agoiwlwifi: fix queue flush confusion
Johannes Berg [Wed, 31 Oct 2012 21:21:28 +0000 (22:21 +0100)]
iwlwifi: fix queue flush confusion

The flush_control parameter to iwlagn_txfifo_flush
is passed as an internal value (context flags) and
then sent to the device, that can't be right.

Fix the confusion by removing the parameter, always
use IWL_DROP_ALL that is redefined according to the
firmware API in the flush control.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agoiwlwifi: don't clear CTL_AMPDU on frame status
Johannes Berg [Wed, 31 Oct 2012 20:46:07 +0000 (21:46 +0100)]
iwlwifi: don't clear CTL_AMPDU on frame status

There's no reason to clear the CTL_AMPDU flag on
transmitted frame status, it's not used by the
driver here and mac80211 only uses it for some
rate statistics.

Also remove a stray space in the function.

Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agoiwlwifi: fix flush command
Johannes Berg [Wed, 31 Oct 2012 19:49:32 +0000 (20:49 +0100)]
iwlwifi: fix flush command

The flush command really flushes queues, not
FIFOs, and the first 32 bits indicate the
queues to flush, not FIFOs. Change the command
accordingly.

Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agomac80211: implement set_mcast_rate() callback
Antonio Quartulli [Fri, 2 Nov 2012 12:27:49 +0000 (13:27 +0100)]
mac80211: implement set_mcast_rate() callback

This new callback can be used to tune the rate to be used to send
multicast frames.

In the current state the multicast rate can be specified on IBSS/MESH
joining only. This makes it impossible to select a custom multicast
rate when then join command is sent by an external program (e.g.
wpa_supplicant)

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agonl/cfg80211: add the NL80211_CMD_SET_MCAST_RATE command
Antonio Quartulli [Fri, 2 Nov 2012 12:27:48 +0000 (13:27 +0100)]
nl/cfg80211: add the NL80211_CMD_SET_MCAST_RATE command

This command triggers a new callback: set_mcast_rate(). It enables
the user to change the rate used to send multicast frames for vif
configured as IBSS or MESH_POINT

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agowireless: add peer-to-peer related definitions
Arend van Spriel [Mon, 5 Nov 2012 14:29:09 +0000 (15:29 +0100)]
wireless: add peer-to-peer related definitions

The Peer-to-Peer IE is vendor-specific IE identified by WiFi Alliance
OUI and specific P2P OUI type. The payload of this IE consists of
so-called P2P attributes. This patch adds definitions for processing
these attributes.

Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agomac80211: send deauth only with channel context
Johannes Berg [Mon, 29 Oct 2012 08:46:31 +0000 (09:46 +0100)]
mac80211: send deauth only with channel context

When userspace asks to deauthenticate and we're just
authenticated (or still authenticating) send a deauth
frame instead of deleting the auth request.

On the other hand, if we've just disassociated and
therefore deleted all our state already, drop the
deauth request because we no longer have a channel
context to send it on.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
12 years agoBluetooth: Fix parameter order of hci_get_route
Johan Hedberg [Thu, 1 Nov 2012 11:27:26 +0000 (13:27 +0200)]
Bluetooth: Fix parameter order of hci_get_route

The actual parameter order of hci_get_route is (dst, src) and not (src,
dst). All current callers use the right order but the header file shows
the parameters in the wrong order.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
12 years agoBluetooth: Rename ctrl_id to remote_amp_id
Andrei Emeltchenko [Thu, 1 Nov 2012 13:37:03 +0000 (15:37 +0200)]
Bluetooth: Rename ctrl_id to remote_amp_id

Since we have started to use local_amp_id for local AMP
Controller Id it makes sense to rename ctrl_id to remote_amp_id
since it represents remote AMP controller Id.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
12 years agoBluetooth: Process Create Chan Request
Andrei Emeltchenko [Thu, 1 Nov 2012 13:37:02 +0000 (15:37 +0200)]
Bluetooth: Process Create Chan Request

Add processing L2CAP Create Chan Request. When channel is created
save associated high speed link hs_hcon.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
12 years agoBluetooth: AMP: Use l2cap_physical_cfm in phylink complete evt
Andrei Emeltchenko [Wed, 31 Oct 2012 13:46:36 +0000 (15:46 +0200)]
Bluetooth: AMP: Use l2cap_physical_cfm in phylink complete evt

When receiving HCI Phylink Complete event run amp_physical_cfm
which initialize BR/EDR L2CAP channel associated with High Speed
link and run l2cap_physical_cfm which shall send L2CAP Create
Chan Request.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
12 years agoBluetooth: AMP: Check for hs_hcon instead of ctrl_id
Andrei Emeltchenko [Wed, 31 Oct 2012 13:46:35 +0000 (15:46 +0200)]
Bluetooth: AMP: Check for hs_hcon instead of ctrl_id

When deciding whether to send EFS configuration response with success,
check rather for existence of High Speed physical link hs_hcon then
ctrl_id. There might be cases when there is ctrl_id but high speed link
is not established yet.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
12 years agoBluetooth: Disconnect logical link when deleting chan
Andrei Emeltchenko [Wed, 31 Oct 2012 13:46:34 +0000 (15:46 +0200)]
Bluetooth: Disconnect logical link when deleting chan

Disconnect logical link for high speed channel hs_hchan
associated with L2CAP channel chan.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
12 years agoBluetooth: AMP: Remove hci_conn receiving error command status
Andrei Emeltchenko [Wed, 31 Oct 2012 13:46:33 +0000 (15:46 +0200)]
Bluetooth: AMP: Remove hci_conn receiving error command status

When receiving HCI Event: Command Status for Create Physical Link
with Error code remove AMP hcon.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
12 years agoBluetooth: AMP: Process Disc Physical Link Complete evt
Andrei Emeltchenko [Wed, 31 Oct 2012 13:46:32 +0000 (15:46 +0200)]
Bluetooth: AMP: Process Disc Physical Link Complete evt

Add processing for HCI Disconnection Physical Link Complete Event.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
12 years agoBluetooth: AMP: Process Disc Logical Link
Andrei Emeltchenko [Wed, 31 Oct 2012 13:46:31 +0000 (15:46 +0200)]
Bluetooth: AMP: Process Disc Logical Link

Add processing for HCI Disconnection Logical Link Complete
Event.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
12 years agoBluetooth: AMP: Add Logical Link Create function
Andrei Emeltchenko [Wed, 31 Oct 2012 13:46:30 +0000 (15:46 +0200)]
Bluetooth: AMP: Add Logical Link Create function

After physical link is created logical link needs to be created.
The process starts after L2CAP channel is created and L2CAP
Configuration Response with result PENDING is received.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
12 years agoBluetooth: Derive remote and local amp id from chan struct
Andrei Emeltchenko [Wed, 31 Oct 2012 13:46:29 +0000 (15:46 +0200)]
Bluetooth: Derive remote and local amp id from chan struct

l2cap_chan already keeps information about *_amp_id.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
12 years agoBluetooth: Return correct L2CAP response type
Andrei Emeltchenko [Wed, 31 Oct 2012 13:46:28 +0000 (15:46 +0200)]
Bluetooth: Return correct L2CAP response type

Return L2CAP_CREATE_CHAN_RSP for Create Channel Request and
L2CAP_CONN_RSP for Create Connection Request.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
12 years agoBluetooth: Save hs_hchan instead of hs_hcon in loglink complete
Andrei Emeltchenko [Wed, 31 Oct 2012 13:46:27 +0000 (15:46 +0200)]
Bluetooth: Save hs_hchan instead of hs_hcon in loglink complete

When logical link creation is completed we need to save hs_hchan
which represents logical link instead of hs_hcon representing
physical link. hs_hcon shall be saved when receiving physical link
complete event.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
12 years agoBluetooth: trivial: Fix braces style and remove empty line
Andrei Emeltchenko [Wed, 31 Oct 2012 13:46:26 +0000 (15:46 +0200)]
Bluetooth: trivial: Fix braces style and remove empty line

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>