Emmanuel Grumbach | 20 Apr 21:54 2015

[PATCH] mac80211: While associated, force off channel transmission for action frames

From: Matti Gottlieb <matti.gottlieb@...>

Currently while associated to an AP and sending an action frame to a
different AP on the same channel, the action frame will be sent
like a regular tx frame without going off channel.

When power save is enabled this can cause problems, since the device can
go into power save and miss the response to the action frame that is sent
by the other AP.

By forcing the frame to be transmitted off channel we avoid this issue.

Force the transmitting of the action frame to use off channel in
case of association
- If HW off channel is enabled
- The user did not forbid transmitting frames off channel
- The frame is not designated to the AP that we are associated with

Signed-off-by: Matti Gottlieb <matti.gottlieb@...>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@...>
 net/mac80211/cfg.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index 265e427..e38da9f 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
 <at>  <at>  -3336,8 +3336,14  <at>  <at>  static int ieee80211_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev,
(Continue reading)

Emmanuel Grumbach | 20 Apr 21:53 2015

[PATCH 1/3] iwlwifi: dvm: don't sleep in event_callback callback

This will allow mac80211 to forbid sleeping from the
event_callback callback.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@...>
Please apply this on mac80211-next.git since other mac80211 patches
depend on it.
 drivers/net/wireless/iwlwifi/dvm/mac80211.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/dvm/mac80211.c b/drivers/net/wireless/iwlwifi/dvm/mac80211.c
index 5707ba5..1e2c352 100644
--- a/drivers/net/wireless/iwlwifi/dvm/mac80211.c
+++ b/drivers/net/wireless/iwlwifi/dvm/mac80211.c
 <at>  <at>  -1139,7 +1139,6  <at>  <at>  static void iwlagn_mac_event_callback(struct ieee80211_hw *hw,

 	IWL_DEBUG_MAC80211(priv, "enter\n");
-	mutex_lock(&priv->mutex);

 	if (priv->lib->bt_params &&
 	    priv->lib->bt_params->advanced_bt_coexist) {
 <at>  <at>  -1148,13 +1147,12  <at>  <at>  static void iwlagn_mac_event_callback(struct ieee80211_hw *hw,
 		else if (event->u.rssi.data == RSSI_EVENT_HIGH)
 			priv->bt_enable_pspoll = false;

-		iwlagn_send_advance_bt_config(priv);
+		queue_work(priv->workqueue, &priv->bt_runtime_config);
 	} else {
(Continue reading)

Emmanuel Grumbach | 20 Apr 21:52 2015

[PATCH] mac80211: Disable U-APSD if connected to a SISO AP

From: Avri Altman <avri.altman@...>

This concerns a bugy behavior of some APs, that advertise themselves
falsely as supporting U-APSD, but they don't which affects throughput.
It was detected in iPhones, but recently also with some Netgear models.
Those devices also advertise their capabilities as SISO, so use that
and disable U-APSD if connected to a SISO AP.

Signed-off-by: Avri Altman <avri.altman@...>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@...>
 net/mac80211/scan.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c
index 7bb6a93..400ff62 100644
--- a/net/mac80211/scan.c
+++ b/net/mac80211/scan.c
 <at>  <at>  -42,6 +42,7  <at>  <at>  void ieee80211_rx_bss_put(struct ieee80211_local *local,
 static bool is_uapsd_supported(struct ieee802_11_elems *elems)
 	u8 qos_info;
+	int i;

 	if (elems->wmm_info && elems->wmm_info_len == 7
 	    && elems->wmm_info[5] == 1)
 <at>  <at>  -53,6 +54,22  <at>  <at>  static bool is_uapsd_supported(struct ieee802_11_elems *elems)
 		/* no valid wmm information or parameter element found */
 		return false;

(Continue reading)

Emmanuel Grumbach | 20 Apr 21:51 2015

[PATCH] mac80211: fix ignored HT/VHT override configs

From: Chaya Rachel Ivgi <chaya.rachel.ivgi@...>

HT and VHT override configurations were ignored during association and
applied only when first beacon recived, or not applied at all.

Fix the code to apply HT/VHT overrides during association. This is a bit
tricky since the channel was already configured during authentication
and we don't want to reconfigure it unless there's really a change.

Signed-off-by: Chaya Rachel Ivgi <chaya.rachel.ivgi@...>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@...>
 net/mac80211/mlme.c | 57 +++++++++++++++++++++++++++++++++--------------------
 1 file changed, 36 insertions(+), 21 deletions(-)

diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 26053bf..3294666 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
 <at>  <at>  -4307,15 +4307,15  <at>  <at>  static int ieee80211_prep_channel(struct ieee80211_sub_if_data *sdata,

 static int ieee80211_prep_connection(struct ieee80211_sub_if_data *sdata,
-				     struct cfg80211_bss *cbss, bool assoc)
+				     struct cfg80211_bss *cbss, bool assoc,
+				     bool override)
 	struct ieee80211_local *local = sdata->local;
 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
 	struct ieee80211_bss *bss = (void *)cbss->priv;
(Continue reading)

Michal Kazior | 20 Apr 11:20 2015

[PATCH] ath10k: fix qca61x4 hw2.1 support

During initialization firmware does some sort of
memory switch between DRAM and IRAM. If
configuration value for bank switching isn't
correct device crashes during init.

The new value prevents firmware (and
possibly others) for qca61x4 hw2.1 from crashing
during init.

Signed-off-by: Michal Kazior <michal.kazior@...>
 drivers/net/wireless/ath/ath10k/pci.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/pci.c b/drivers/net/wireless/ath/ath10k/pci.c
index 262a84f67f62..b1e522ccb525 100644
--- a/drivers/net/wireless/ath/ath10k/pci.c
+++ b/drivers/net/wireless/ath/ath10k/pci.c
 <at>  <at>  -1539,12 +1539,11  <at>  <at>  static int ath10k_pci_get_num_banks(struct ath10k *ar)
 		switch (MS(ar->chip_id, SOC_CHIP_ID_REV)) {
 		case QCA6174_HW_1_0_CHIP_ID_REV:
 		case QCA6174_HW_1_1_CHIP_ID_REV:
+		case QCA6174_HW_2_1_CHIP_ID_REV:
+		case QCA6174_HW_2_2_CHIP_ID_REV:
 			return 3;
 		case QCA6174_HW_1_3_CHIP_ID_REV:
 			return 2;
-		case QCA6174_HW_2_1_CHIP_ID_REV:
-		case QCA6174_HW_2_2_CHIP_ID_REV:
-			return 6;
(Continue reading)

Arend van Spriel | 20 Apr 10:30 2015

[PATCH 0/4] brcm: firmware for brcmfmac driver

Couple of new firmware files for devices added to brcmfmac and
replacing a firmware file that turned out to be not working on
the intended device.

This patch applies to the master branch of the linux-firmware
repository on top of commit ec89525b2ab6 ("firmware: WHENCE: note
nvidia xusb.bin firmware versions").

Arend van Spriel (4):
  brcm: add firmware for BCM43569 USB device
  brcm: add firmware for BCM43570 PCIe device
  brcm: replace non-working firmware for BCM4339
  brcm: add firmware for BCM4324(1) B5 chipset

 WHENCE                        |   2 ++
 brcm/brcmfmac43241b5-sdio.bin | Bin 0 -> 408682 bytes
 brcm/brcmfmac4339-sdio.bin    | Bin 569291 -> 493599 bytes
 brcm/brcmfmac43569.bin        | Bin 0 -> 557056 bytes
 brcm/brcmfmac43570-pcie.bin   | Bin 0 -> 550333 bytes
 5 files changed, 2 insertions(+)
 create mode 100644 brcm/brcmfmac43241b5-sdio.bin
 rewrite brcm/brcmfmac4339-sdio.bin (91%)
 create mode 100644 brcm/brcmfmac43569.bin
 create mode 100644 brcm/brcmfmac43570-pcie.bin



To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
(Continue reading)

contact | 19 Apr 01:30 2015

Fundamental Interaction of Nature

Fundamental Interaction of Nature by

To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@...
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Roshanak Rasoli | 18 Apr 21:53 2015

Buffer utilization in ath9k

Hi all,

Regarding to the driver ath9k code, I would like to ask you:

 - How ath9k reserves memory and store pointers in a buffer? What is
the name of the buffer? (is that DMA buffer or something else?)

 - During which stage of the ath9k operation does this occur?

Could you please point out to the code (attached)

Thanks in advance.
Attachment (kernel_search.tar.gz): application/x-gzip, 243 KiB
Jason Khanlar | 18 Apr 12:23 2015

0cf3:3004 Atheros Communications, Inc. AR3012 Bluetooth 4.0

I have purchased a Sager Clevo NP9752-S laptop computer.


One of the internal USB components is an Atheros Bluetooth device.

Upon a fresh installation of the latest release of Archlinux, upon first
boot I noticed an error message appear immediately after the user login
prompt appeared:

	Arch Linux 3.19.3-3-ARCH (tty1)

	clevo login: [    2.590209] Bluetooth: Patch file not found
	[    2.950240] Bluetooth: Loading patch file failed

Discussing and investigating about it with assistance from #archlinux on
Freenode IRC network, it was eventually suggested I file a bug report.

The following are details pertaining to my system in which I am unable to
properly prepare the device to function:

((Relevant packages installed include: linux-firmware-20150206.17657c3-1))

((Note: I can reproduce the error to appear by executing `rmmod ath3k &&
modprobe ath3k`))
# rmmod ath3k && modprobe ath3k
Bluetooth: Patch file not found ar3k/AthrBT_0x00000200.dfu
Bluetooth: Loading patch file failed
(Continue reading)

Chun-Yeow Yeoh | 17 Apr 19:30 2015

[PATCH v2] cfg80211: allow the plink state blocking for user managed mesh

wpa_supplicant or authsae handles the mesh peering in user
space, but the plink state is still managed in kernel space.
Currently, there is no implementation by wpa_supplicant or
authsae to block the plink state after it is set to ESTAB.

By applying this patch, we can use the "iw mesh0 station set
<MAC address> plink_action block" to block the peer mesh STA.
This is useful for experimenting purposes.

Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@...>

v2: respin the commit log (Johannes)
 net/wireless/nl80211.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index dd78445..8a33bba 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
 <at>  <at>  -4061,7 +4061,8  <at>  <at>  int cfg80211_check_station_change(struct wiphy *wiphy,
 			return -EINVAL;
-		if (params->plink_action != NL80211_PLINK_ACTION_NO_ACTION)
+		if (params->plink_action != NL80211_PLINK_ACTION_NO_ACTION &&
+		    params->plink_action != NL80211_PLINK_ACTION_BLOCK)
 			return -EINVAL;
(Continue reading)

Roshanak Rasoli | 17 Apr 18:01 2015

wireless driver ath9k and module 80211 interaction

Hi experts,

I have a question about the code  that you wrote;

1- How does the ath9k announce itself to the mac80211?
2- How can the mac80211 know how to configure the ath9k.

Could you please point out to the code.

Thanks in advance.
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@...
More majordomo info at  http://vger.kernel.org/majordomo-info.html