GitHub/moto-9609/android_kernel_motorola_exynos9610.git
10 years agomwifiex: add cfg80211 dump_survey handler
Xinming Hu [Fri, 31 Oct 2014 10:38:27 +0000 (16:08 +0530)]
mwifiex: add cfg80211 dump_survey handler

This patch add cfg80211 dump_survey handler for mwifiex.
This handler will be called to report channel statistics
to cfg80211.

This in turn adds ACS support for mwifiex AP.

Signed-off-by: Xinming Hu <huxm@marvell.com>
Signed-off-by: Avinash Patil <patila@marvell.com>
Signed-off-by: Cathy Luo <cluo@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agomwifiex: channel statistics support for mwifiex
Avinash Patil [Fri, 31 Oct 2014 10:38:26 +0000 (16:08 +0530)]
mwifiex: channel statistics support for mwifiex

This patch adds support to record channel statistics during
scan. With extended scan, scan results are returned as events from
FW while channel statistics are part of scan command response.
We store these channel statistics in adapter.

Signed-off-by: Avinash Patil <patila@marvell.com>
Signed-off-by: Xinmin Hu <huxm@marvell.com>
Signed-off-by: Cathy Luo <cluo@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agoMerge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetoot...
John W. Linville [Fri, 31 Oct 2014 20:05:31 +0000 (16:05 -0400)]
Merge branch 'for-upstream' of git://git./linux/kernel/git/bluetooth/bluetooth-next

10 years agoBluetooth: HCI H5 peer reset detection
Loic Poulain [Wed, 8 Oct 2014 14:54:28 +0000 (16:54 +0200)]
Bluetooth: HCI H5 peer reset detection

H5 Specification says:
If a SYNC message is received while in the Active State, it is
assumed that the peer device has reset. The local device should
therefore perform a full reset of the upper stack, and start Link
Establishment again at the Uninitialized State. Upon entering the
Active State, the first packet sent shall have its SEQ and ACK
numbers set to zero.

This patch resets the HCI H5 driver data/state to unitialized and
reports an HCI hardware error event to notify the upper stack that
HCI synchronization has been lost. H5 will be re-synchronized and
upper stack should generate an HCI Reset command.

Signed-off-by: Loic Poulain <loic.poulain@intel.com>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
10 years agortlwifi: rtl8821ae: Remove extra semicolons
Larry Finger [Thu, 30 Oct 2014 04:17:12 +0000 (23:17 -0500)]
rtlwifi: rtl8821ae: Remove extra semicolons

The kbuild test robot reports that there are extra semicolons in this
driver. All of them are caused by using "};" rather than "}" at the
end of a switch statement. This patch does not change any functionality.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Murilo Opsfelder Araujo <mopsfelder@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agobrcmsmac: expose 802.11 core statistics in debugfs
Arend van Spriel [Wed, 29 Oct 2014 15:02:51 +0000 (16:02 +0100)]
brcmsmac: expose 802.11 core statistics in debugfs

The 802.11 statistics obtained from the device can be retrieved
dumping the 'macstat' file in debugfs folder.

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: John W. Linville <linville@tuxdriver.com>
10 years agobrcmsmac: fix statistic counter update function
Arend van Spriel [Wed, 29 Oct 2014 15:02:50 +0000 (16:02 +0100)]
brcmsmac: fix statistic counter update function

The 802.11 core statistics are retrieved from the core registers
but not stored. So the debug code was never triggered to give a
warning message on tx underruns or rx overflows. This patch fixes
this and assures the statistics are stored in the snapshot.

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: John W. Linville <linville@tuxdriver.com>
10 years agocarl9170: Convert byte_rev_table uses to bitrev8
Joe Perches [Tue, 28 Oct 2014 21:18:58 +0000 (14:18 -0700)]
carl9170: Convert byte_rev_table uses to bitrev8

Use the inline function instead of directly indexing the array.

This allows some architectures with hardware instructions
for bit reversals to eliminate the array.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agowil6210: Add support for large packets
Vladimir Kondratiev [Tue, 28 Oct 2014 14:51:27 +0000 (16:51 +0200)]
wil6210: Add support for large packets

It is possible to configure driver using mtu_max module parameter
by setting it to value in range of 68..7920 inclusive.
This is sub-optimal performance-wise in case packet is larger than 1 page.
mtu_max default value is 2228.

Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agowil6210: improve dmesg for fw error handling
Vladimir Kondratiev [Tue, 28 Oct 2014 14:50:09 +0000 (16:50 +0200)]
wil6210: improve dmesg for fw error handling

In case of FW error, make it clear (in dmesg) what branch is taken
in the error recovery code.

Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agowil6210: prevent double disconnect command issuing
Vladimir Kondratiev [Tue, 28 Oct 2014 14:50:08 +0000 (16:50 +0200)]
wil6210: prevent double disconnect command issuing

Disconnect flow may be invoked either from upper layer request,
or from event reported by the firmware.

In case of firmware event, driver need to release resources for the station but
not send another disconnect WMI command.

In case of upper layer request, WMI_DISCONNECT_STA_CMDID command need to
be issued for the firmware to perform disconnect on the MAC layer. Eventually,
event is expected to confirm MAC disconnect, but it is better to not wait for
firmware event and release station resources immediately. FW may fail to
report disconnect for various reasons, so one could not rely on event always reported.

Introduce parameter to distinguish 2 cases above to prevent double WMI command
issuing.

Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agowil6210: reset flow updates
Vladimir Kondratiev [Tue, 28 Oct 2014 14:50:07 +0000 (16:50 +0200)]
wil6210: reset flow updates

As communicated with the firmware & hardware teams

Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agowil6210: do not attempt FW recovery if interface is down
Vladimir Kondratiev [Tue, 28 Oct 2014 14:50:06 +0000 (16:50 +0200)]
wil6210: do not attempt FW recovery if interface is down

When interface is down, recovery flow should not be attempted.
Next ndo_open() will trigger target reset, that is FW recovery.

Doing recovery while interface is down cause internal "up", leaving
internal driver state in conflict with network stack. Then, when network
stack will call ndo_open(), kernel oops will be triggered.

Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agobrcmfmac: (clean) Move sdio related function.
Hante Meuleman [Tue, 28 Oct 2014 13:56:19 +0000 (14:56 +0100)]
brcmfmac: (clean) Move sdio related function.

prec_enq is a sdio specific function. Move it to sdio.c.

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: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agobrcmfmac: (clean) Rename sdio related files.
Hante Meuleman [Tue, 28 Oct 2014 13:56:18 +0000 (14:56 +0100)]
brcmfmac: (clean) Rename sdio related files.

Rename sdio_host.h to sdio.h and dhd_sdio.c to sdio.c.

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: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agobrcmfmac: (clean) Rename sdio related files.
Hante Meuleman [Tue, 28 Oct 2014 13:56:17 +0000 (14:56 +0100)]
brcmfmac: (clean) Rename sdio related files.

Rename sdio_host.h to sdio.h and dhd_sdio.c to sdio.c.

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: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agobrcmfmac: (clean) Rename files wl_cfg80211 to cfg80211
Hante Meuleman [Tue, 28 Oct 2014 13:56:16 +0000 (14:56 +0100)]
brcmfmac: (clean) Rename files wl_cfg80211 to cfg80211

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: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agobrcmfmac: (clean) Rename dhd_common.c in common.c
Hante Meuleman [Tue, 28 Oct 2014 13:56:15 +0000 (14:56 +0100)]
brcmfmac: (clean) Rename dhd_common.c in common.c

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: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agobrcmfmac: (clean) Rename dhd_bus.h in bus.h
Hante Meuleman [Tue, 28 Oct 2014 13:56:14 +0000 (14:56 +0100)]
brcmfmac: (clean) Rename dhd_bus.h in bus.h

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: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agobrcmfmac: (clean) Rename files dhd_dbg to debug
Hante Meuleman [Tue, 28 Oct 2014 13:56:13 +0000 (14:56 +0100)]
brcmfmac: (clean) Rename files dhd_dbg to debug

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: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agobrcmfmac: (clean) Move tracepoint related function.
Hante Meuleman [Tue, 28 Oct 2014 13:56:12 +0000 (14:56 +0100)]
brcmfmac: (clean) Move tracepoint related function.

__brcmf_err is a tracepoint specific function. Move it to
tracepoint.c.

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: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agobrcmfmac: (clean) Remove packet filter configuration.
Hante Meuleman [Tue, 28 Oct 2014 13:56:11 +0000 (14:56 +0100)]
brcmfmac: (clean) Remove packet filter configuration.

Packet filters got configured but never used.

Reviewed-by: Franky Lin <frankyl@broadcom.com>
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: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agobrcmfmac: (clean) Remove usb_rdl.h as it is not needed.
Hante Meuleman [Tue, 28 Oct 2014 13:56:10 +0000 (14:56 +0100)]
brcmfmac: (clean) Remove usb_rdl.h as it is not needed.

Reviewed-by: Arend Van Spriel <arend@broadcom.com>
Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agobrcmfmac: do not use firmware error code in driver
Arend van Spriel [Tue, 28 Oct 2014 13:56:09 +0000 (14:56 +0100)]
brcmfmac: do not use firmware error code in driver

Passing the firmware error codes up the driver may be mapped to
linux error numbers which may impact proper fault analysis. So
better pass up a generic failure code, ie. -EBADE and only show
firmware error code in FIL debug message.

Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agobrcmfmac: remove unused defintion
Arend van Spriel [Tue, 28 Oct 2014 13:56:08 +0000 (14:56 +0100)]
brcmfmac: remove unused defintion

The define EBRCMF_UNSUPPORTED is not used in the source file so this
patch removes it.

Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agobrcmfmac: show firmware error as string in debug message
Arend van Spriel [Tue, 28 Oct 2014 13:56:07 +0000 (14:56 +0100)]
brcmfmac: show firmware error as string in debug message

Showing the firmware error allows to quickly give a clue what
went wrong and directly look in the firmware code that gave us
back the error.

Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agobrcmfmac: Add wowl patterns support.
Hante Meuleman [Tue, 28 Oct 2014 13:56:06 +0000 (14:56 +0100)]
brcmfmac: Add wowl patterns support.

Reviewed-by: Arend Van Spriel <arend@broadcom.com>
Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agobrcmfmac: Add wowl support for SDIO devices.
Hante Meuleman [Tue, 28 Oct 2014 13:56:05 +0000 (14:56 +0100)]
brcmfmac: Add wowl support for SDIO devices.

This patch adds wowl support for SDIO bus devices. This feature
requires FW which has support for wowl built in.

Reviewed-by: Arend Van Spriel <arend@broadcom.com>
Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agobrcmfmac: Add wowl support for USB devices.
Hante Meuleman [Tue, 28 Oct 2014 13:56:04 +0000 (14:56 +0100)]
brcmfmac: Add wowl support for USB devices.

This patch adds wowl support for USB bus devices. This feature
requires FW which has support for wowl built in.

Reviewed-by: Arend Van Spriel <arend@broadcom.com>
Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agoath9k: set pulse_rssi threshold to 15
Lorenzo Bianconi [Tue, 28 Oct 2014 11:37:16 +0000 (12:37 +0100)]
ath9k: set pulse_rssi threshold to 15

Reduce pulse_rssi threshold to 15 in order to improve radar pattern detection
probability on ext channel

Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agoMerge tag 'iwlwifi-next-for-john-2014-10-29' of git://git.kernel.org/pub/scm/linux...
John W. Linville [Thu, 30 Oct 2014 19:22:06 +0000 (15:22 -0400)]
Merge tag 'iwlwifi-next-for-john-2014-10-29' of git://git./linux/kernel/git/iwlwifi/iwlwifi-next

Emmanuel Grumbach <egrumbach@gmail.com> says:

"The big new thing here is netdetect which allows the
firmware to wake up the platform when a specific network
is detected. Along with that I have fixes for d3 operation.
The usual amount of rate scaling stuff - we now support STBC.
The other commit that stands out is Johannes's work on
devcoredump. He basically starts to use the standard
infrastructure he built."

Signed-off-by: John W. Linville <linville@tuxdriver.com>
10 years agoBluetooth: Clear LE white list when resetting controller
Marcel Holtmann [Wed, 29 Oct 2014 22:37:53 +0000 (23:37 +0100)]
Bluetooth: Clear LE white list when resetting controller

The internal representation of the LE white list needs to be cleared
when receiving a successful HCI_Reset command. A reset of the controller
is expected to start with an empty LE white list.

When the LE white list is not cleared on controller reset, the passive
background scanning might skip programming the remote devices. Only
changes to the LE white list are programmed when passive background
is started.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Cc: stable@vger.kernel.org # 3.17.x
10 years agoBluetooth: 6lowpan: use after free in disconnect_devices()
Dan Carpenter [Wed, 29 Oct 2014 16:10:57 +0000 (19:10 +0300)]
Bluetooth: 6lowpan: use after free in disconnect_devices()

This was accidentally changed from list_for_each_entry_safe() to
list_for_each_entry() so now it has a use after free bug.  I've changed
it back.

Fixes: 90305829635d ('Bluetooth: 6lowpan: Converting rwlocks to use RCU')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: add basic support for monitor
Alexander Aring [Wed, 29 Oct 2014 20:34:44 +0000 (21:34 +0100)]
mac802154: add basic support for monitor

This patch adds basic support for monitor mode. Also change the open
call that we set the transceiver mac setting on an interface up. Futher
patches will add a better handling while interface up an interface.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agoat86rf230: deliver with checksum
Alexander Aring [Wed, 29 Oct 2014 20:34:43 +0000 (21:34 +0100)]
at86rf230: deliver with checksum

This patch indicates that the at86rf230 driver deliver with checksum
instead drop the crc before delivering.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: rx: add error handling after skb_clone
Alexander Aring [Wed, 29 Oct 2014 20:34:42 +0000 (21:34 +0100)]
mac802154: rx: add error handling after skb_clone

This patch adds error handling after skb_clone and deliver only if
skb_clone was successful.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: rx: monitor receive cleanup
Alexander Aring [Wed, 29 Oct 2014 20:34:41 +0000 (21:34 +0100)]
mac802154: rx: monitor receive cleanup

This patch replace the !netif_running(sdata->dev) instead we doing a
!ieee802154_sdata_running(sdata). Also move this in two separate if
branches to compare with mac80211 code.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: rx: add rx stats incrementation
Alexander Aring [Wed, 29 Oct 2014 20:34:40 +0000 (21:34 +0100)]
mac802154: rx: add rx stats incrementation

This patch adds rx stats incrementation when the monitor interface
recevied a frame.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: rx: use netif_receive_skb
Alexander Aring [Wed, 29 Oct 2014 20:34:39 +0000 (21:34 +0100)]
mac802154: rx: use netif_receive_skb

This patch removes netif_rx_ni call. Instead we call netif_receive_skb,
we can do that since commit c5c47e67bcd24638a059b1b5e9ec18c95f8634ca
("mac802154: rx: use tasklet instead workqueue").

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: rx: remove override pkt_type set to PACKET_HOST
Alexander Aring [Wed, 29 Oct 2014 20:34:38 +0000 (21:34 +0100)]
mac802154: rx: remove override pkt_type set to PACKET_HOST

This patch removes pkt_type set to PACKET_HOST while monitor receiving.
This should be PACKET_OTHERHOST on monitor mode which already set
before.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: rx: add software checksum filtering check
Alexander Aring [Wed, 29 Oct 2014 20:34:37 +0000 (21:34 +0100)]
mac802154: rx: add software checksum filtering check

This patch adds a new hardware flag which indicate that the transceiver
doesn't support check for bad checksum via hardware. Also add a handling of
this while receive.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: rx: simplify crc receive handling
Alexander Aring [Wed, 29 Oct 2014 20:34:36 +0000 (21:34 +0100)]
mac802154: rx: simplify crc receive handling

This patch change the actual crc handling while receive. Currently the
IEEE802154_HW_RX_OMIT_CKSUM flag is used to filter a frame with a bad crc.
This patch changes the behaviour of IEEE802154_HW_RX_OMIT_CKSUM to add a
crc while receiving for the monitor interface. After monitor receiving
we remove the crc for frame parsing. This affect the driver layer
because all drivers sets IEEE802154_HW_RX_OMIT_CKSUM and deliver without
checksum.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: rx: remove unnecessary parameter
Alexander Aring [Wed, 29 Oct 2014 20:34:35 +0000 (21:34 +0100)]
mac802154: rx: remove unnecessary parameter

This patch removes a not used parameter in ieee802154_deliver_skb.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: separate omit tx/rx flags
Alexander Aring [Wed, 29 Oct 2014 20:34:34 +0000 (21:34 +0100)]
mac802154: separate omit tx/rx flags

This patch splits the IEEE802154_HW_OMIT_CKSUM hardware flag into
IEEE802154_HW_TX_OMIT_CKSUM and IEEE802154_HW_RX_OMIT_CKSUM. This is
useful to deliver the received crc from the driver layer to the monitor
interface. At the moment we can't do that without change the xmit
handling.

The received checksum should be visible in monitor mode only.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agoat86rf230: add support for promiscuous mode
Alexander Aring [Wed, 29 Oct 2014 20:34:33 +0000 (21:34 +0100)]
at86rf230: add support for promiscuous mode

This patch adds support for promiscuous mode setting for the at86rf230
driver.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: add support for promiscuous mode
Alexander Aring [Wed, 29 Oct 2014 20:34:32 +0000 (21:34 +0100)]
mac802154: add support for promiscuous mode

This patch adds a new driver operation to bring the transceiver into
promiscuous mode.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: add hardware address filter flag
Alexander Aring [Wed, 29 Oct 2014 20:34:31 +0000 (21:34 +0100)]
mac802154: add hardware address filter flag

Overdue introduction for address filtering hardware flag. Furthermore we
will check and set address filtering on interface up. This patch
prepares that we can check if an transceiver supports address filtering
option. Currently all mainline driver supports hardware address filtering.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Cc: Alan Ott <alan@signal11.us>
Cc: Varka Bhadram <varkabhadram@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: add IEEE802154_HW_ARET hw flag
Alexander Aring [Wed, 29 Oct 2014 20:34:30 +0000 (21:34 +0100)]
mac802154: add IEEE802154_HW_ARET hw flag

This patch adds a new IEEE802154_HW_ARET hardware flag for indicating
that the transceiver supports ARET handling. Also remove the
IEEE802154_HW_FRAME_RETRIES from IEEE802154_HW_CSMA flag. Frame retries
handling is part of ARET.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: remove tab after define
Alexander Aring [Wed, 29 Oct 2014 20:34:29 +0000 (21:34 +0100)]
mac802154: remove tab after define

This patch removes tabs after define in hardware flags declarations.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: main: remove unnecessary include
Alexander Aring [Wed, 29 Oct 2014 20:34:28 +0000 (21:34 +0100)]
mac802154: main: remove unnecessary include

This patch removes an unnecessary include of driver-ops header file.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agoMAINTAINERS: add cc2520 driver maintainer
Varka Bhadram [Wed, 29 Oct 2014 10:45:22 +0000 (16:15 +0530)]
MAINTAINERS: add cc2520 driver maintainer

This patch adds maintainer for cc2520 radio driver

Signed-off-by: Varka Bhadram <varkab@cdac.in>
Acked-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agoBluetooth: Wrong style spin lock used
Jukka Rissanen [Wed, 29 Oct 2014 08:16:00 +0000 (10:16 +0200)]
Bluetooth: Wrong style spin lock used

Use spin_lock_bh() as the code is called from softirq in networking subsystem.
This is needed to prevent deadlocks when 6lowpan link is in use.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agoiwlwifi: mvm: unref SCAN ref on scan completion
Eliad Peller [Sun, 22 Jun 2014 11:44:44 +0000 (14:44 +0300)]
iwlwifi: mvm: unref SCAN ref on scan completion

The scan reference wasn't released in case of offloaded scan,
causing the refcount to go wrong and prevent the device
from going into d0i3.

Signed-off-by: Eliad Peller <eliadx.peller@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: mvm: rs: add Tx STBC support
Eyal Shapira [Thu, 23 Oct 2014 10:58:38 +0000 (13:58 +0300)]
iwlwifi: mvm: rs: add Tx STBC support

STBC is enabled on HT/VHT SISO rates in case we don't care
about power consumption and it won't hurt BT.
This is done only in case the peer and our chip support STBC
of course.
While at it fixed a bug which was causing bw and ldpc
flags to be set incorrectly in the rate scale table in case
we are switching to a legacy Tx column. This had no real impact.

Signed-off-by: Eyal Shapira <eyalx.shapira@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: mvm: fix scan condition iterator
David Spinadel [Sun, 26 Oct 2014 13:53:27 +0000 (15:53 +0200)]
iwlwifi: mvm: fix scan condition iterator

Scan condition iterator assumes that an interface is associated if
phy_ctxt is assigned, but this isn't the sutuation in P2P device.
OTOH P2P device is never associated so we can simply ignore it.

Signed-off-by: David Spinadel <david.spinadel@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: mvm: port to devcoredump framework
Johannes Berg [Thu, 9 Oct 2014 15:01:36 +0000 (17:01 +0200)]
iwlwifi: mvm: port to devcoredump framework

iwlwifi features a debug mechanism that allows to dump
binary data which is helpful to debug the firmware.
Until now, this data was made available for the userspace
through debugfs. For this exact purpose, devcoredump was
created. Move to the new infrastructure.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: enable STBC support for 8000 chips
Eyal Shapira [Thu, 23 Oct 2014 12:30:47 +0000 (15:30 +0300)]
iwlwifi: enable STBC support for 8000 chips

These chips support STBC in both Tx and Rx.
Given that we've added STBC Tx support enable it.

Signed-off-by: Eyal Shapira <eyalx.shapira@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: dvm: Fix probable mask then right shift defect
Joe Perches [Mon, 27 Oct 2014 05:25:03 +0000 (22:25 -0700)]
iwlwifi: dvm: Fix probable mask then right shift defect

Precedence of & and >> is not the same and is not left to right.
shift has higher precedence and should be done after the mask.

Add parentheses around the mask.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: mvm: remove unnecessary includes in tt.c
Luciano Coelho [Fri, 10 Oct 2014 07:03:02 +0000 (10:03 +0300)]
iwlwifi: mvm: remove unnecessary includes in tt.c

We used to need to include some headers in order to read the registers
and do all the calculations by ourselves, but this is not done anymore
(i.e. we let the firmware do this for us), so we don't need to include
those headers anymore.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: mvm: flush queues without mutex held
Johannes Berg [Fri, 10 Oct 2014 06:59:27 +0000 (08:59 +0200)]
iwlwifi: mvm: flush queues without mutex held

For WMM-AC we may have to be changing QoS parameters while the
queues are being flushed. This is not relevant in the "drop"
case, but matters when we wait for the device to finish the
transmissions.

To allow this, do the actual waiting without holding the mutex.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: mvm: improve MCS rate warning
Johannes Berg [Wed, 8 Oct 2014 07:57:29 +0000 (09:57 +0200)]
iwlwifi: mvm: improve MCS rate warning

The warning gives no information about the frame, and presents
the flags so that one might think they're the frame. Clarify
and add more information.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: mvm: BT Coex - make the multiprio lut a constant
Emmanuel Grumbach [Sun, 19 Oct 2014 11:18:14 +0000 (14:18 +0300)]
iwlwifi: mvm: BT Coex - make the multiprio lut a constant

This makes it easier to tune the values during the testing.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: mvm: remove mvm argument from get_queues_mask
Arik Nemtsov [Sun, 21 Sep 2014 16:00:42 +0000 (19:00 +0300)]
iwlwifi: mvm: remove mvm argument from get_queues_mask

It is unused and won't be available in some future invocations of the
function.

Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: mvm: add MVM_FW_BCAST_FILTER_PASS_ALL option
Max Stepanov [Wed, 15 Oct 2014 08:27:16 +0000 (11:27 +0300)]
iwlwifi: mvm: add MVM_FW_BCAST_FILTER_PASS_ALL option

The MVM_FW_BCAST_FILTER_PASS_ALL option defined in iwl-dbg-cfg.ini
configuration file allows to enable/disable FW broadcast filtering.

If MVM_FW_BCAST_FILTER_PASS_ALL is not defined in iwl-dbg-cfg.ini or
its value is 0, the mvm broadcast filtering is enabled.

Setting MVM_FW_BCAST_FILTER_PASS_ALL=1 in iwl-dbg-cfg.ini blocks sending
of BCAST_FILTER_CMD to FW.

Signed-off-by: Max Stepanov <Max.Stepanov@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: mvm: BT Coex - move BT_ANTENNA_COUPLING_THRESHOLD to constants
Emmanuel Grumbach [Tue, 7 Oct 2014 11:44:18 +0000 (14:44 +0300)]
iwlwifi: mvm: BT Coex - move BT_ANTENNA_COUPLING_THRESHOLD to constants

This is were it really needs to be.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: always run the secured flow for family 8000
Eran Harary [Mon, 29 Sep 2014 06:27:56 +0000 (08:27 +0200)]
iwlwifi: always run the secured flow for family 8000

In the new format the "CSS section" has the same TLV type
as the "mem section". So we need to run the secured flow
for all the 8000 products.

Signed-off-by: Eran Harary <eran.harary@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: pcie: fix recovery from ARC reset in WoWLAN
Emmanuel Grumbach [Sun, 12 Oct 2014 10:23:40 +0000 (13:23 +0300)]
iwlwifi: pcie: fix recovery from ARC reset in WoWLAN

When the ARC is reset when we exit from Sx in case we had
WoWLAN running, we can't access the prph before we reset
the NIC.

Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: pcie: warn if extern fw_debug buffer failed
Emmanuel Grumbach [Thu, 18 Sep 2014 12:44:04 +0000 (15:44 +0300)]
iwlwifi: pcie: warn if extern fw_debug buffer failed

Otherwise we have no way to know that the buffer hasn't been
allocated.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: allow to restrict Tx aggregation size per-device
Gregory Greenman [Tue, 2 Sep 2014 14:04:58 +0000 (16:04 +0200)]
iwlwifi: allow to restrict Tx aggregation size per-device

A few slave bus devices show better performance when we
reduce the size of the Tx A-MPDU.

Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: mvm: change the iwl_mvm_d3_iface_iterator into a generic function
Luciano Coelho [Thu, 2 Oct 2014 12:38:04 +0000 (15:38 +0300)]
iwlwifi: mvm: change the iwl_mvm_d3_iface_iterator into a generic function

Getting the BSS station vif is something that may be needed by other
parts of the code.  So, instead of having an iterator specifically for
d3, change it into a generic one in utils.c.  Additionally, add a
iwl_mvm_get_bss_vif() function to make it easier to retrieving it.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: mvm: add debugfs entry to configure netdetect SSIDs
Luciano Coelho [Wed, 24 Sep 2014 05:29:11 +0000 (08:29 +0300)]
iwlwifi: mvm: add debugfs entry to configure netdetect SSIDs

Before we get all the chain (ie. mac80211, cfg80211, nl80211 and
userspace) changed to support net-detect, we can use this debugfs
entry for easy testing and as a proof of concept.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: mvm: spin off a function to start scan offload
Luciano Coelho [Wed, 1 Oct 2014 10:22:40 +0000 (13:22 +0300)]
iwlwifi: mvm: spin off a function to start scan offload

The net-detect feature will require a scan offload to be started in
the same way it is done now for scheduled scan.  Spin a new function
off of the sched_scan_start op code for reuse.  Additionally,
restructure the function a bit for more readability.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: mvm: move the check if associated outside of the iterator for wowlan
Luciano Coelho [Mon, 22 Sep 2014 10:01:59 +0000 (13:01 +0300)]
iwlwifi: mvm: move the check if associated outside of the iterator for wowlan

Instead of checking if we are associated when suspending with wowlan
enabled in the interface iterator, allow it to return an unassociated
vif and move the check to the main suspend function.  This will be
needed by netdetect, since it should also work when we are not
associated but the vif is active.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: mvm: split wowlan handling out of the main suspend function
Luciano Coelho [Mon, 22 Sep 2014 07:59:53 +0000 (10:59 +0300)]
iwlwifi: mvm: split wowlan handling out of the main suspend function

Take the WoWLAN handling code out of the main suspend function,
dividing it into three parts: get_config (which is used before the
firmware is switched), switch_to_d3 (which handles the rebooting of
the hardware with the D3 firmware) and config (which configures the D3
firmware for WoWLAN operation).  This is necessary to prepare for the
net-detect implementation, which will use only the switch_to_d3 part
of this flow.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: mvm: hold the rtnl when resuming from a d3 test
Luciano Coelho [Mon, 22 Sep 2014 10:22:51 +0000 (13:22 +0300)]
iwlwifi: mvm: hold the rtnl when resuming from a d3 test

We use ieee80211_iter_keys() which requires the rtnl to be held.  If
we don't lock the rtnl, like we do when we suspend during a d3 test,
we get the following splat:

 RTNL: assertion failed at net/mac80211/key.c (566)
 CPU: 1 PID: 26529 Comm: cat Tainted: G        W  O 3.10.29-dev #1
 Hardware name: Dell Inc. Latitude E6430/0CPWYR, BIOS A09 12/13/2012
  e7b15008 e7b15008 e68adc1c c168aa62 e68adc54 f91f20b6 f923700c f9236fd8
  00000236 00000000 ece23874 00000000 f94941e0 00000000 e43b8e48 e7b15008
  00000000 e8b69e78 e68adcc0 f9493ab9 e68adc68 00000000 e43b8e48 e7b15008
 Call Trace:
  [<c168aa62>] dump_stack+0x16/0x18
  [<f91f20b6>] ieee80211_iter_keys+0x166/0x170 [mac80211]
  [<f94941e0>] ? iwl_mvm_query_wakeup_reasons+0x5f0/0x5f0 [iwlmvm]
  [<f9493ab9>] iwl_mvm_setup_connection_keep.isra.5+0x99/0x1d0 [iwlmvm]
  [<f9165e28>] ? cfg80211_report_wowlan_wakeup+0x308/0x510 [cfg80211]
  [<f9493fe5>] iwl_mvm_query_wakeup_reasons+0x3f5/0x5f0 [iwlmvm]
  [<c116125a>] ? init_object+0x3a/0x70
  [<f8a5b8ee>] ? iwl_trans_pcie_d3_resume+0x1be/0x3a0 [iwlwifi]
  [<f94956da>] __iwl_mvm_resume+0x14a/0x180 [iwlmvm]
  [<f9495736>] iwl_mvm_d3_test_release+0x26/0xc0 [iwlmvm]
  [<c117a64d>] __fput+0xad/0x210
  [<c117a7bd>] ____fput+0xd/0x10
  [<c10601a1>] task_work_run+0x81/0xb0
  [<c1040fa5>] do_exit+0x255/0xac0
  [<c104e511>] ? dequeue_signal+0x31/0x1a0
  [<c1041888>] do_group_exit+0x38/0xa0
  [<c10a6cfb>] ? trace_hardirqs_on+0xb/0x10
  [<c1051c31>] get_signal_to_deliver+0x1e1/0x8e0
  [<c104bd52>] ? try_to_del_timer_sync+0x42/0x60
  [<c104bd70>] ? try_to_del_timer_sync+0x60/0x60
  [<c168dc82>] ? schedule_timeout+0x102/0x2a0
  [<c10011ba>] do_signal+0x3a/0x8e0
  [<c104b190>] ? __internal_add_timer+0xb0/0xb0
  [<c168de7a>] ? schedule_timeout_interruptible+0x1a/0x20
  [<c104ce39>] ? msleep_interruptible+0x39/0x40
  [<f94939a9>] ? iwl_mvm_d3_test_read+0x49/0x70 [iwlmvm]
  [<c11797fc>] ? vfs_read+0x8c/0x160
  [<c11243af>] ? SyS_fadvise64_64+0x15f/0x2b0
  [<f9493960>] ? iwl_mvm_wowlan_program_keys+0x4a0/0x4a0 [iwlmvm]
  [<c1179a57>] ? SyS_read+0x57/0xa0
  [<c1001acf>] do_notify_resume+0x6f/0xa0
  [<c1692500>] work_notifysig+0x29/0x31

Fix this by hold the rtnl lock when calling __iwl_mvm_resume() in the
d3 test wake up path.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: mvm: remove unneeded NULL pointer check
Emmanuel Grumbach [Sun, 21 Sep 2014 10:29:48 +0000 (13:29 +0300)]
iwlwifi: mvm: remove unneeded NULL pointer check

mac80211 will never call rate_control_tx_status with a NULL
pointer for sta. Remove the superfluous check. This check
misled smatch.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoiwlwifi: rs: option to easily disable Tx MIMO
Eyal Shapira [Wed, 17 Sep 2014 10:56:29 +0000 (13:56 +0300)]
iwlwifi: rs: option to easily disable Tx MIMO

The current TLC isn't optimized for low latency and some devices
have issues with MIMO. This kind of combo creates latency issues.
Allow to temporarily disable MIMO for tests in order to solve
the latency issues without the added complexity of MIMO.

Signed-off-by: Eyal Shapira <eyalx.shapira@intel.com>
Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
10 years agoMerge remote-tracking branch 'iwlwifi-fixes/master' into iwlwifi-next
Emmanuel Grumbach [Wed, 29 Oct 2014 10:48:37 +0000 (12:48 +0200)]
Merge remote-tracking branch 'iwlwifi-fixes/master' into iwlwifi-next

10 years agoieee802154: introduce sysfs file
Alexander Aring [Tue, 28 Oct 2014 17:21:32 +0000 (18:21 +0100)]
ieee802154: introduce sysfs file

This patch moves the sysfs handling in a own file. This is like wireless
sysfs file handling.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: cleanup open count handling
Alexander Aring [Tue, 28 Oct 2014 17:21:31 +0000 (18:21 +0100)]
mac802154: cleanup open count handling

This patch cleanups the open_count variable increment in open and close
calls of netdev.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: move mac_params functions into mac_cmd
Alexander Aring [Tue, 28 Oct 2014 17:21:30 +0000 (18:21 +0100)]
mac802154: move mac_params functions into mac_cmd

These functions can be static in mac_cmd file.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: remove channel attributes from sdata
Alexander Aring [Tue, 28 Oct 2014 17:21:29 +0000 (18:21 +0100)]
mac802154: remove channel attributes from sdata

These channel attributes was part of "channel context switch while xmit"
which was removed by commit dc67c6b30f36d57b70b70547a30e7a8432540c6f
("mac802154: tx: remove xmit channel context switch"). This patch
removes these unnecessary variables and use the current_page and
current_channel by wpan_phy struct now.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: iface: remove assign to zero
Alexander Aring [Tue, 28 Oct 2014 17:21:28 +0000 (18:21 +0100)]
mac802154: iface: remove assign to zero

These variables should already be zero, so we remove the extra assign to
zero.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: add synchronization handling
Alexander Aring [Tue, 28 Oct 2014 17:21:27 +0000 (18:21 +0100)]
mac802154: add synchronization handling

This patch adds synchronization handling in start and stop driver ops
calls. This patch is mostly grab from mac80211 which was introduced by
commit ea77f12f2cc0f31168f2e0259e65a22202ac4dc2 ("mac80211: remove
tasklet enable/disable"). This is to be sure that we don't run into same
issues.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: move local started handling
Alexander Aring [Tue, 28 Oct 2014 17:21:26 +0000 (18:21 +0100)]
mac802154: move local started handling

This patch removes the current handling of started boolean. This is
actually dead code, because mac802154_netdev_register can't never be
called before ieee802154_register_hw. This means that local->started is
always be true when mac802154_netdev_register is called. Instead we
using this now like mac80211 to indicate that an instance of sdata is
running.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: rename running to started
Alexander Aring [Tue, 28 Oct 2014 17:21:25 +0000 (18:21 +0100)]
mac802154: rename running to started

This variable should be handled like ieee80211_local struct of mac80211.
We rename this variable to started now to have the same name convention.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: rework sdata state change to running
Alexander Aring [Tue, 28 Oct 2014 17:21:24 +0000 (18:21 +0100)]
mac802154: rework sdata state change to running

This patch reworks the handling for setting the state like mac80211. We
use bit's instead a bool variable. The mutex is not needed because it use
test and set bits which are atomic operations.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: remove driver ops in wpan-phy
Alexander Aring [Tue, 28 Oct 2014 17:21:23 +0000 (18:21 +0100)]
mac802154: remove driver ops in wpan-phy

This patch removes the driver ops callbacks inside of wpan_phy struct.
It was used to check if a phy supports this driver ops call. We do this
now via hardware flags.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: remove might_sleep from driver layer
Alexander Aring [Tue, 28 Oct 2014 17:21:22 +0000 (18:21 +0100)]
mac802154: remove might_sleep from driver layer

This patch removes all might_sleep calls from driver layer. This
handling is already done by mac802154 layer.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: use driver-ops function wrappers
Alexander Aring [Tue, 28 Oct 2014 17:21:21 +0000 (18:21 +0100)]
mac802154: use driver-ops function wrappers

This patch replaces all directly called driver ops by previous
introduced driver-ops function wrappers.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: introduce driver-ops header
Alexander Aring [Tue, 28 Oct 2014 17:21:20 +0000 (18:21 +0100)]
mac802154: introduce driver-ops header

This patch introduce a driver-ops header file with function wrappers to
call the driver ops. These wrappers checking on right context
information and warn if optional driver ops are called when these aren't
implemented. This behaviour is like mac80211 driver-ops header file,
just without function tracing calls.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: ops: declare channel and page as u8
Alexander Aring [Tue, 28 Oct 2014 17:21:19 +0000 (18:21 +0100)]
mac802154: ops: declare channel and page as u8

The range of channel and page fits into an unsigned byte range. This
patch changes the set_channel parameter definitions for channel and
page to u8.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Cc: Alan Ott <alan@signal11.us>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: declare struct ieee802154_ops as const
Alexander Aring [Tue, 28 Oct 2014 17:21:18 +0000 (18:21 +0100)]
mac802154: declare struct ieee802154_ops as const

The ieee802154_ops structure should be never changed during runtime.
This patch declare this structure as const to avoid a runtime change.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Cc: Alan Ott <alan@signal11.us>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: main: move open and close into iface
Alexander Aring [Tue, 28 Oct 2014 17:21:17 +0000 (18:21 +0100)]
mac802154: main: move open and close into iface

These functions can be static inside the iface file, because it's not
used anywhere else. This patch moves these functions into iface file.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agomac802154: monitor: merge into iface implementation
Alexander Aring [Tue, 28 Oct 2014 17:21:16 +0000 (18:21 +0100)]
mac802154: monitor: merge into iface implementation

This patch removes the monitor implementation file and put all monitor
stuff into iface file. It's now small enough to put all necessary
handling into iface.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agoBluetooth: Fix check for direct advertising
Johan Hedberg [Tue, 28 Oct 2014 21:23:27 +0000 (22:23 +0100)]
Bluetooth: Fix check for direct advertising

These days we allow simultaneous LE scanning and advertising. Checking
for whether advertising is enabled or not is therefore not a reliable
way to determine whether directed advertising was used to trigger the
connection creation. The appropriate place to check (instead of the hdev
context) is the connection role that's stored in the hci_conn. This
patch fixes such a check in le_conn_timeout() which could otherwise lead
to incorrect HCI commands being sent.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Cc: stable@vger.kernel.org # 3.16.x
10 years agoBluetooth: Fix LE connection timeout deadlock
Johan Hedberg [Tue, 28 Oct 2014 21:23:26 +0000 (22:23 +0100)]
Bluetooth: Fix LE connection timeout deadlock

The le_conn_timeout() may call hci_le_conn_failed() which in turn may
call hci_conn_del(). Trying to use the _sync variant for cancelling the
conn timeout from hci_conn_del() could therefore result in a deadlock.
This patch converts hci_conn_del() to use the non-sync variant so the
deadlock is not possible.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Cc: stable@vger.kernel.org # 3.16.x
10 years agoBluetooth: spelling fixes
Stephen Hemminger [Tue, 28 Oct 2014 04:12:20 +0000 (21:12 -0700)]
Bluetooth: spelling fixes

Fix spelling errors in comments.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agoBluetooth: 6lowpan: Fix lockdep splats
Jukka Rissanen [Tue, 28 Oct 2014 15:16:48 +0000 (17:16 +0200)]
Bluetooth: 6lowpan: Fix lockdep splats

When a device ndo_start_xmit() calls again dev_queue_xmit(),
lockdep can complain because dev_queue_xmit() is re-entered and the
spinlocks protecting tx queues share a common lockdep class.

Same issue was fixed for ieee802154 in commit "20e7c4e80dcd"

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
10 years agoBluetooth: 6lowpan: Converting rwlocks to use RCU
Jukka Rissanen [Tue, 28 Oct 2014 15:16:47 +0000 (17:16 +0200)]
Bluetooth: 6lowpan: Converting rwlocks to use RCU

The rwlocks are converted to use RCU. This helps performance as the
irq locks are not needed any more.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>