Re: [PATCH 2/4] mwifiex: enable pcie MSIx interrupt mode support

2016-01-07 Thread Kalle Valo
Amitkumar Karwar  writes:

> From: Xinming Hu 
>
> Newer pcie chipsets (8997 onwards) support MSIx. This
> patch enables it.
>
> Signed-off-by: Xinming Hu 
> Signed-off-by: Amitkumar Karwar 

I have dropped this patch, please resend once the build issue is solved.

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


Re: [PATCH v4 3/3] wlcore/wl12xx: spi: add wifi support to cm-t335

2016-01-07 Thread Kalle Valo
Uri Mashiach  writes:

> Device tree modifications:
> - Pinmux for SPI0 and WiFi GPIOs.
> - SPI0 node with wlcore as a child node.
>
> Cc: Tony Lindgren 
> Signed-off-by: Uri Mashiach 
> ---
> v1 -> v2: Replace interrupts and interrupt-parent with interrupts-extended.
> v2 -> v3: Move the pinctrl-0 = <_pins> to the wlcore node.
> v3 -> v4: replace interrupts-extended with interrupts and interrupt-parent. 
> (revert v2 modification).
>   According to Rob Herring and 
> Documentation/devicetree/bindings/interrupt-controller/interrupts.txt,
> interrupts-extended should only be used when a device has multiple 
> interrupt parents.
>
>  arch/arm/boot/dts/am335x-cm-t335.dts | 55 
> 
>  1 file changed, 55 insertions(+)

To what tree should this patch go? My wireless-drivers-next tree doesn't
even have this file.

https://patchwork.kernel.org/patch/7933441/

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


Re: [v2] mwifiex: correctly handling kzalloc

2016-01-07 Thread Kalle Valo

> Since kzalloc can be failed in memory pressure,
> it needs to be handled, otherwise NULL dereference could be happened
> 
> Signed-off-by: Insu Yun 

Thanks, applied to wireless-drivers-next.git.

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


[PATCH 1/6] mwifiex: add schedule scan support

2016-01-07 Thread Amitkumar Karwar
From: Xinming Hu 

This patch add sched scan support for mwifiex, include cfg80211
sched_scan_start/sched_scan_stop handler, corresponding bgscan
command path and event handler.

Signed-off-by: Xinming Hu 
Signed-off-by: chunfan chen 
Signed-off-by: Cathy Luo 
Signed-off-by: Amitkumar Karwar 
---
 drivers/net/wireless/marvell/mwifiex/cfg80211.c| 134 +++
 drivers/net/wireless/marvell/mwifiex/fw.h  |  59 +
 drivers/net/wireless/marvell/mwifiex/ioctl.h   |   1 +
 drivers/net/wireless/marvell/mwifiex/main.c|   7 +
 drivers/net/wireless/marvell/mwifiex/main.h|  10 +
 drivers/net/wireless/marvell/mwifiex/scan.c| 261 +
 drivers/net/wireless/marvell/mwifiex/sta_cmd.c |   4 +
 drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c |   3 +
 drivers/net/wireless/marvell/mwifiex/sta_event.c   |   7 +
 drivers/net/wireless/marvell/mwifiex/sta_ioctl.c   |   7 +
 10 files changed, 493 insertions(+)

diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c 
b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
index e7adef7..c27c6cc 100644
--- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
+++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
@@ -1962,6 +1962,9 @@ mwifiex_cfg80211_disconnect(struct wiphy *wiphy, struct 
net_device *dev,
 {
struct mwifiex_private *priv = mwifiex_netdev_get_priv(dev);
 
+   if (!mwifiex_stop_bg_scan(priv))
+   cfg80211_sched_scan_stopped_rtnl(priv->wdev.wiphy);
+
if (mwifiex_deauthenticate(priv, NULL))
return -EFAULT;
 
@@ -2217,6 +2220,9 @@ mwifiex_cfg80211_connect(struct wiphy *wiphy, struct 
net_device *dev,
"info: Trying to associate to %s and bssid %pM\n",
(char *)sme->ssid, sme->bssid);
 
+   if (!mwifiex_stop_bg_scan(priv))
+   cfg80211_sched_scan_stopped_rtnl(priv->wdev.wiphy);
+
ret = mwifiex_cfg80211_assoc(priv, sme->ssid_len, sme->ssid, sme->bssid,
 priv->bss_mode, sme->channel, sme, 0);
if (!ret) {
@@ -2420,6 +2426,9 @@ mwifiex_cfg80211_scan(struct wiphy *wiphy,
return -EBUSY;
}
 
+   if (!mwifiex_stop_bg_scan(priv))
+   cfg80211_sched_scan_stopped_rtnl(priv->wdev.wiphy);
+
user_scan_cfg = kzalloc(sizeof(*user_scan_cfg), GFP_KERNEL);
if (!user_scan_cfg)
return -ENOMEM;
@@ -2487,6 +2496,121 @@ mwifiex_cfg80211_scan(struct wiphy *wiphy,
return 0;
 }
 
+/* CFG802.11 operation handler for sched_scan_start.
+ *
+ * This function issues a bgscan config request to the firmware based upon
+ * the user specified sched_scan configuration. On successful completion,
+ * firmware will generate BGSCAN_REPORT event, driver should issue bgscan
+ * query command to get sched_scan results from firmware.
+ */
+static int
+mwifiex_cfg80211_sched_scan_start(struct wiphy *wiphy,
+ struct net_device *dev,
+ struct cfg80211_sched_scan_request *request)
+{
+   struct mwifiex_private *priv = mwifiex_netdev_get_priv(dev);
+   int i, offset;
+   struct ieee80211_channel *chan;
+   struct mwifiex_bg_scan_cfg *bgscan_cfg;
+   struct ieee_types_header *ie;
+
+   if (!request || (!request->n_ssids && !request->n_match_sets)) {
+   wiphy_err(wiphy, "%s : Invalid Sched_scan parameters",
+ __func__);
+   return -EINVAL;
+   }
+
+   wiphy_info(wiphy, "sched_scan start : n_ssids=%d n_match_sets=%d ",
+  request->n_ssids, request->n_match_sets);
+   wiphy_info(wiphy, "n_channels=%d interval=%d ie_len=%d\n",
+  request->n_channels, request->scan_plans->interval,
+  (int)request->ie_len);
+
+   bgscan_cfg = kzalloc(sizeof(*bgscan_cfg), GFP_KERNEL);
+   if (!bgscan_cfg)
+   return -ENOMEM;
+
+   if (priv->scan_request || priv->scan_aborting)
+   bgscan_cfg->start_later = true;
+
+   bgscan_cfg->num_ssids = request->n_match_sets;
+   bgscan_cfg->ssid_list = request->match_sets;
+
+   if (request->ie && request->ie_len) {
+   offset = 0;
+   for (i = 0; i < MWIFIEX_MAX_VSIE_NUM; i++) {
+   if (priv->vs_ie[i].mask != MWIFIEX_VSIE_MASK_CLEAR)
+   continue;
+   priv->vs_ie[i].mask = MWIFIEX_VSIE_MASK_BGSCAN;
+   ie = (struct ieee_types_header *)(request->ie + offset);
+   memcpy(>vs_ie[i].ie, ie, sizeof(*ie) + ie->len);
+   offset += sizeof(*ie) + ie->len;
+
+   if (offset >= request->ie_len)
+   break;
+   }
+   }
+
+   for (i = 0; i < min_t(u32, request->n_channels,
+  

[PATCH 0/6] mwifiex wowlan enahancements

2016-01-07 Thread Amitkumar Karwar
This patch series adds support for schedule scan,
wowlan net-detect and reporting wakeup reason to
cfg80211.

Amitkumar Karwar (1):
  mwifiex: use SYNC flag for canceling host sleep

Ganapathi Bhat (1):
  mwifiex: add RSSI support for net-detect

Xinming Hu (1):
  mwifiex: add schedule scan support

chunfan chen (3):
  mwifiex: add wowlan info messages
  mwifiex: add wowlan net-detect support
  mwifiex: report wakeup reason to cfg80211

 drivers/net/wireless/marvell/mwifiex/cfg80211.c| 244 ++--
 drivers/net/wireless/marvell/mwifiex/cmdevt.c  |  13 +
 drivers/net/wireless/marvell/mwifiex/fw.h  |  86 ++
 drivers/net/wireless/marvell/mwifiex/ioctl.h   |   5 +
 drivers/net/wireless/marvell/mwifiex/main.c|  14 +
 drivers/net/wireless/marvell/mwifiex/main.h|  17 ++
 drivers/net/wireless/marvell/mwifiex/scan.c| 308 +
 drivers/net/wireless/marvell/mwifiex/sdio.c|   2 +-
 drivers/net/wireless/marvell/mwifiex/sta_cmd.c |  23 ++
 drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c |   6 +
 drivers/net/wireless/marvell/mwifiex/sta_event.c   |   7 +
 drivers/net/wireless/marvell/mwifiex/sta_ioctl.c   |  25 ++
 12 files changed, 733 insertions(+), 17 deletions(-)

-- 
1.8.1.4

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


[PATCH 3/6] mwifiex: add wowlan net-detect support

2016-01-07 Thread Amitkumar Karwar
From: chunfan chen 

This patch adds support for wakeup when configured
network is detected.

Signed-off-by: chunfan chen 
Signed-off-by: Amitkumar Karwar 
---
 drivers/net/wireless/marvell/mwifiex/cfg80211.c  | 40 +++-
 drivers/net/wireless/marvell/mwifiex/fw.h|  2 ++
 drivers/net/wireless/marvell/mwifiex/main.c  |  7 +
 drivers/net/wireless/marvell/mwifiex/main.h  |  1 +
 drivers/net/wireless/marvell/mwifiex/scan.c  | 32 +++
 drivers/net/wireless/marvell/mwifiex/sta_ioctl.c |  6 ++--
 6 files changed, 72 insertions(+), 16 deletions(-)

diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c 
b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
index 6d36d08..a1b8d89 100644
--- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
+++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
@@ -3273,7 +3273,7 @@ static int mwifiex_cfg80211_suspend(struct wiphy *wiphy,
 
priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA);
 
-   if (!priv->media_connected) {
+   if (!priv->media_connected && !wowlan->nd_config) {
mwifiex_dbg(adapter, ERROR,
"Can not configure WOWLAN in disconnected state\n");
return 0;
@@ -3285,22 +3285,32 @@ static int mwifiex_cfg80211_suspend(struct wiphy *wiphy,
return ret;
}
 
+   memset(_cfg, 0, sizeof(hs_cfg));
+   hs_cfg.conditions = le32_to_cpu(adapter->hs_cfg.conditions);
+
+   if (wowlan->nd_config) {
+   mwifiex_dbg(adapter, INFO, "Wake on net detect\n");
+   hs_cfg.conditions |= HS_CFG_COND_MAC_EVENT;
+   mwifiex_cfg80211_sched_scan_start(wiphy, priv->netdev,
+ wowlan->nd_config);
+   }
+
if (wowlan->disconnect) {
-   memset(_cfg, 0, sizeof(hs_cfg));
-   hs_cfg.is_invoke_hostcmd = false;
-   hs_cfg.conditions = HS_CFG_COND_MAC_EVENT;
-   hs_cfg.gpio = adapter->hs_cfg.gpio;
-   hs_cfg.gap = adapter->hs_cfg.gap;
-   ret = mwifiex_set_hs_params(priv, HostCmd_ACT_GEN_SET,
-   MWIFIEX_SYNC_CMD, _cfg);
-   if (ret) {
-   mwifiex_dbg(adapter, ERROR,
-   "Failed to set HS params\n");
-   return ret;
-   }
+   hs_cfg.conditions |= HS_CFG_COND_MAC_EVENT;
mwifiex_dbg(priv->adapter, INFO, "Wake on device disconnect\n");
}
 
+   hs_cfg.is_invoke_hostcmd = false;
+   hs_cfg.gpio = adapter->hs_cfg.gpio;
+   hs_cfg.gap = adapter->hs_cfg.gap;
+   ret = mwifiex_set_hs_params(priv, HostCmd_ACT_GEN_SET,
+   MWIFIEX_SYNC_CMD, _cfg);
+   if (ret) {
+   mwifiex_dbg(adapter, ERROR,
+   "Failed to set HS params\n");
+   return ret;
+   }
+
return ret;
 }
 
@@ -3853,11 +3863,13 @@ static struct cfg80211_ops mwifiex_cfg80211_ops = {
 
 #ifdef CONFIG_PM
 static const struct wiphy_wowlan_support mwifiex_wowlan_support = {
-   .flags = WIPHY_WOWLAN_MAGIC_PKT | WIPHY_WOWLAN_DISCONNECT,
+   .flags = WIPHY_WOWLAN_MAGIC_PKT | WIPHY_WOWLAN_DISCONNECT |
+   WIPHY_WOWLAN_NET_DETECT,
.n_patterns = MWIFIEX_MEF_MAX_FILTERS,
.pattern_min_len = 1,
.pattern_max_len = MWIFIEX_MAX_PATTERN_LEN,
.max_pkt_offset = MWIFIEX_MAX_OFFSET_LEN,
+   .max_nd_match_sets = MWIFIEX_MAX_ND_MATCH_SETS,
 };
 #endif
 
diff --git a/drivers/net/wireless/marvell/mwifiex/fw.h 
b/drivers/net/wireless/marvell/mwifiex/fw.h
index 07bdc2a..81b491a 100644
--- a/drivers/net/wireless/marvell/mwifiex/fw.h
+++ b/drivers/net/wireless/marvell/mwifiex/fw.h
@@ -543,6 +543,8 @@ enum P2P_MODES {
 
 #define MWIFIEX_MAX_PATTERN_LEN40
 #define MWIFIEX_MAX_OFFSET_LEN 100
+#define MWIFIEX_MAX_ND_MATCH_SETS  10
+
 #define STACK_NBYTES   100
 #define TYPE_DNUM  1
 #define TYPE_BYTESEQ   2
diff --git a/drivers/net/wireless/marvell/mwifiex/main.c 
b/drivers/net/wireless/marvell/mwifiex/main.c
index a99b72b..3cfa946 100644
--- a/drivers/net/wireless/marvell/mwifiex/main.c
+++ b/drivers/net/wireless/marvell/mwifiex/main.c
@@ -132,6 +132,13 @@ static int mwifiex_unregister(struct mwifiex_adapter 
*adapter)
}
}
 
+   if (adapter->nd_info) {
+   for (i = 0 ; i < adapter->nd_info->n_matches ; i++)
+   kfree(adapter->nd_info->matches[i]);
+   kfree(adapter->nd_info);
+   adapter->nd_info = NULL;
+   }
+
vfree(adapter->chan_stats);
kfree(adapter);
return 0;
diff --git a/drivers/net/wireless/marvell/mwifiex/main.h 
b/drivers/net/wireless/marvell/mwifiex/main.h
index 

[PATCH 4/6] mwifiex: report wakeup reason to cfg80211

2016-01-07 Thread Amitkumar Karwar
From: chunfan chen 

This patch adds code to report wakeup reason to cfg80211
when system is resumed.

Signed-off-by: chunfan chen 
Signed-off-by: Amitkumar Karwar 
---
 drivers/net/wireless/marvell/mwifiex/cfg80211.c| 58 ++
 drivers/net/wireless/marvell/mwifiex/cmdevt.c  | 13 +
 drivers/net/wireless/marvell/mwifiex/fw.h  | 20 
 drivers/net/wireless/marvell/mwifiex/ioctl.h   |  4 ++
 drivers/net/wireless/marvell/mwifiex/main.h|  6 +++
 drivers/net/wireless/marvell/mwifiex/sta_cmd.c | 19 +++
 drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c |  3 ++
 drivers/net/wireless/marvell/mwifiex/sta_ioctl.c   | 16 ++
 8 files changed, 139 insertions(+)

diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c 
b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
index a1b8d89..c80d9e2 100644
--- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
+++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
@@ -3316,6 +3316,64 @@ static int mwifiex_cfg80211_suspend(struct wiphy *wiphy,
 
 static int mwifiex_cfg80211_resume(struct wiphy *wiphy)
 {
+   struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy);
+   struct mwifiex_private *priv =
+   mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA);
+   struct mwifiex_ds_wakeup_reason wakeup_reason;
+   struct cfg80211_wowlan_wakeup wakeup_report;
+   int i;
+
+   mwifiex_get_wakeup_reason(priv, HostCmd_ACT_GEN_GET, MWIFIEX_SYNC_CMD,
+ _reason);
+   memset(_report, 0, sizeof(struct cfg80211_wowlan_wakeup));
+
+   wakeup_report.pattern_idx = -1;
+
+   switch (wakeup_reason.hs_wakeup_reason) {
+   case NO_HSWAKEUP_REASON:
+   break;
+   case BCAST_DATA_MATCHED:
+   break;
+   case MCAST_DATA_MATCHED:
+   break;
+   case UCAST_DATA_MATCHED:
+   break;
+   case MASKTABLE_EVENT_MATCHED:
+   break;
+   case NON_MASKABLE_EVENT_MATCHED:
+   if (wiphy->wowlan_config->disconnect)
+   wakeup_report.disconnect = true;
+   if (wiphy->wowlan_config->nd_config)
+   wakeup_report.net_detect = adapter->nd_info;
+   break;
+   case NON_MASKABLE_CONDITION_MATCHED:
+   break;
+   case MAGIC_PATTERN_MATCHED:
+   if (wiphy->wowlan_config->magic_pkt)
+   wakeup_report.magic_pkt = true;
+   if (wiphy->wowlan_config->n_patterns)
+   wakeup_report.pattern_idx = 1;
+   break;
+   case CONTROL_FRAME_MATCHED:
+   break;
+   caseMANAGEMENT_FRAME_MATCHED:
+   break;
+   default:
+   break;
+   }
+
+   if ((wakeup_reason.hs_wakeup_reason > 0) &&
+   (wakeup_reason.hs_wakeup_reason <= 7))
+   cfg80211_report_wowlan_wakeup(>wdev, _report,
+ GFP_KERNEL);
+
+   if (adapter->nd_info) {
+   for (i = 0 ; i < adapter->nd_info->n_matches ; i++)
+   kfree(adapter->nd_info->matches[i]);
+   kfree(adapter->nd_info);
+   adapter->nd_info = NULL;
+   }
+
return 0;
 }
 
diff --git a/drivers/net/wireless/marvell/mwifiex/cmdevt.c 
b/drivers/net/wireless/marvell/mwifiex/cmdevt.c
index cb25aa7..a12adee 100644
--- a/drivers/net/wireless/marvell/mwifiex/cmdevt.c
+++ b/drivers/net/wireless/marvell/mwifiex/cmdevt.c
@@ -1657,3 +1657,16 @@ int mwifiex_ret_get_hw_spec(struct mwifiex_private *priv,
 
return 0;
 }
+
+/* This function handles the command response of hs wakeup reason
+ * command.
+ */
+int mwifiex_ret_wakeup_reason(struct mwifiex_private *priv,
+ struct host_cmd_ds_command *resp,
+ struct host_cmd_ds_wakeup_reason *wakeup_reason)
+{
+   wakeup_reason->wakeup_reason =
+   resp->params.hs_wakeup_reason.wakeup_reason;
+
+   return 0;
+}
diff --git a/drivers/net/wireless/marvell/mwifiex/fw.h 
b/drivers/net/wireless/marvell/mwifiex/fw.h
index 81b491a..d293e48 100644
--- a/drivers/net/wireless/marvell/mwifiex/fw.h
+++ b/drivers/net/wireless/marvell/mwifiex/fw.h
@@ -373,6 +373,7 @@ enum MWIFIEX_802_11_PRIVACY_FILTER {
 #define HostCmd_CMD_MGMT_FRAME_REG0x010c
 #define HostCmd_CMD_REMAIN_ON_CHAN0x010d
 #define HostCmd_CMD_11AC_CFG 0x0112
+#define HostCmd_CMD_HS_WAKEUP_REASON  0x0116
 #define HostCmd_CMD_TDLS_CONFIG   0x0100
 #define HostCmd_CMD_MC_POLICY 0x0121
 #define HostCmd_CMD_TDLS_OPER 0x0122
@@ -607,6 +608,20 @@ struct mwifiex_ie_types_data {
 #define MWIFIEX_RXPD_FLAGS_TDLS_PACKET  0x01
 #define MWIFIEX_TXPD_FLAGS_REQ_TX_STATUS  

[PATCH 2/6] mwifiex: add wowlan info messages

2016-01-07 Thread Amitkumar Karwar
From: chunfan chen 

This patch adds informative messages in wake up on
magic packet, disconnect, pattern configuration paths.

Signed-off-by: chunfan chen 
Signed-off-by: Amitkumar Karwar 
---
 drivers/net/wireless/marvell/mwifiex/cfg80211.c | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c 
b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
index c27c6cc..6d36d08 100644
--- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
+++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
@@ -3171,10 +3171,12 @@ static int mwifiex_set_wowlan_mef_entry(struct 
mwifiex_private *priv,
sizeof(byte_seq));
mef_entry->filter[filt_num].filt_type = TYPE_EQ;
 
-   if (first_pat)
+   if (first_pat) {
first_pat = false;
-   else
+   mwifiex_dbg(priv->adapter, INFO, "Wake on patterns\n");
+   } else {
mef_entry->filter[filt_num].filt_action = TYPE_AND;
+   }
 
filt_num++;
}
@@ -3200,6 +3202,7 @@ static int mwifiex_set_wowlan_mef_entry(struct 
mwifiex_private *priv,
mef_entry->filter[filt_num].offset = 56;
mef_entry->filter[filt_num].filt_type = TYPE_EQ;
mef_entry->filter[filt_num].filt_action = TYPE_OR;
+   mwifiex_dbg(priv->adapter, INFO, "Wake on magic packet\n");
}
return ret;
 }
@@ -3295,6 +3298,7 @@ static int mwifiex_cfg80211_suspend(struct wiphy *wiphy,
"Failed to set HS params\n");
return ret;
}
+   mwifiex_dbg(priv->adapter, INFO, "Wake on device disconnect\n");
}
 
return ret;
-- 
1.8.1.4

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


[PATCH 5/6] mwifiex: add RSSI support for net-detect

2016-01-07 Thread Amitkumar Karwar
From: Ganapathi Bhat 

This patch adds support for waking up the device on
finding better RSSI. Threshold RSSI value will be
configured by application.

Signed-off-by: Ganapathi Bhat 
Signed-off-by: Amitkumar Karwar 
---
 drivers/net/wireless/marvell/mwifiex/cfg80211.c |  4 
 drivers/net/wireless/marvell/mwifiex/fw.h   |  5 +
 drivers/net/wireless/marvell/mwifiex/scan.c | 15 +++
 3 files changed, 24 insertions(+)

diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c 
b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
index c80d9e2..8461553 100644
--- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
+++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
@@ -2582,6 +2582,10 @@ mwifiex_cfg80211_sched_scan_start(struct wiphy *wiphy,
bgscan_cfg->bss_type = MWIFIEX_BSS_MODE_INFRA;
bgscan_cfg->action = MWIFIEX_BGSCAN_ACT_SET;
bgscan_cfg->enable = true;
+   if (request->min_rssi_thold != NL80211_SCAN_RSSI_THOLD_OFF) {
+   bgscan_cfg->report_condition |= MWIFIEX_BGSCAN_SSID_RSSI_MATCH;
+   bgscan_cfg->rssi_threshold = request->min_rssi_thold;
+   }
 
if (mwifiex_send_cmd(priv, HostCmd_CMD_802_11_BG_SCAN_CONFIG,
 HostCmd_ACT_GEN_SET, 0, bgscan_cfg, true)) {
diff --git a/drivers/net/wireless/marvell/mwifiex/fw.h 
b/drivers/net/wireless/marvell/mwifiex/fw.h
index d293e48..4af9168 100644
--- a/drivers/net/wireless/marvell/mwifiex/fw.h
+++ b/drivers/net/wireless/marvell/mwifiex/fw.h
@@ -759,6 +759,11 @@ struct mwifiex_ie_types_repeat_count {
__le16 repeat_count;
 } __packed;
 
+struct mwifiex_ie_types_min_rssi_threshold {
+   struct mwifiex_ie_types_header header;
+   __le16 rssi_threshold;
+} __packed;
+
 struct mwifiex_ie_types_bgscan_start_later {
struct mwifiex_ie_types_header header;
__le16 start_later;
diff --git a/drivers/net/wireless/marvell/mwifiex/scan.c 
b/drivers/net/wireless/marvell/mwifiex/scan.c
index 0a85b05..6fdb40f 100644
--- a/drivers/net/wireless/marvell/mwifiex/scan.c
+++ b/drivers/net/wireless/marvell/mwifiex/scan.c
@@ -2258,6 +2258,7 @@ int mwifiex_cmd_802_11_bg_scan_config(struct 
mwifiex_private *priv,
int i;
struct mwifiex_ie_types_num_probes *num_probes_tlv;
struct mwifiex_ie_types_repeat_count *repeat_count_tlv;
+   struct mwifiex_ie_types_min_rssi_threshold *rssi_threshold_tlv;
struct mwifiex_ie_types_bgscan_start_later *start_later_tlv;
struct mwifiex_ie_types_wildcard_ssid_params *wildcard_ssid_tlv;
struct mwifiex_ie_types_chan_list_param_set *chan_list_tlv;
@@ -2308,6 +2309,20 @@ int mwifiex_cmd_802_11_bg_scan_config(struct 
mwifiex_private *priv,
le16_to_cpu(repeat_count_tlv->header.len);
}
 
+   if (bgscan_cfg_in->rssi_threshold) {
+   rssi_threshold_tlv =
+   (struct mwifiex_ie_types_min_rssi_threshold *)tlv_pos;
+   rssi_threshold_tlv->header.type =
+   cpu_to_le16(TLV_TYPE_RSSI_LOW);
+   rssi_threshold_tlv->header.len =
+   cpu_to_le16(sizeof(rssi_threshold_tlv->rssi_threshold));
+   rssi_threshold_tlv->rssi_threshold =
+   cpu_to_le16(bgscan_cfg_in->rssi_threshold);
+
+   tlv_pos += sizeof(rssi_threshold_tlv->header) +
+   le16_to_cpu(rssi_threshold_tlv->header.len);
+   }
+
for (i = 0; i < bgscan_cfg_in->num_ssids; i++) {
ssid_len = bgscan_cfg_in->ssid_list[i].ssid.ssid_len;
 
-- 
1.8.1.4

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


[PATCH 6/6] mwifiex: use SYNC flag for canceling host sleep

2016-01-07 Thread Amitkumar Karwar
Host sleep is cancelled in sdio resume() handler.
Cfg80211's resume handler is immediately called after
this. SYNC flag here ensures that host sleep handshake
gets completed and we have valid "adapter->nd_config"
before we report host wakeup reason in cfg80211's
resume handler.

Signed-off-by: Amitkumar Karwar 
---
 drivers/net/wireless/marvell/mwifiex/sdio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/marvell/mwifiex/sdio.c 
b/drivers/net/wireless/marvell/mwifiex/sdio.c
index ec1e8c3..031c599 100644
--- a/drivers/net/wireless/marvell/mwifiex/sdio.c
+++ b/drivers/net/wireless/marvell/mwifiex/sdio.c
@@ -181,7 +181,7 @@ static int mwifiex_sdio_resume(struct device *dev)
 
/* Disable Host Sleep */
mwifiex_cancel_hs(mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA),
- MWIFIEX_ASYNC_CMD);
+ MWIFIEX_SYNC_CMD);
 
return 0;
 }
-- 
1.8.1.4

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


[PATCH] iwl4965: Fix a memory leak in error handling code of __il4965_up

2016-01-07 Thread Jia-Ju Bai
When il4965_hw_nic_init in __il4965_up fails, the memory allocated by 
iwl4965_sta_alloc_lq in iwl4965_alloc_bcast_station is not freed.

This patches adds il_dealloc_bcast_stations in the error handling code of 
__il4965_up to fix this problem.

This patch has been tested in real device, and it actually fixes the bug.

Signed-off-by: Jia-Ju Bai 
---
 drivers/net/wireless/iwlegacy/4965-mac.c |1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/wireless/iwlegacy/4965-mac.c 
b/drivers/net/wireless/iwlegacy/4965-mac.c
index 6656215..fd7b5c7 100644
--- a/drivers/net/wireless/iwlegacy/4965-mac.c
+++ b/drivers/net/wireless/iwlegacy/4965-mac.c
@@ -5577,6 +5577,7 @@ __il4965_up(struct il_priv *il)
ret = il4965_hw_nic_init(il);
if (ret) {
IL_ERR("Unable to init nic\n");
+   il_dealloc_bcast_stations(il);
return ret;
}
 
-- 
1.7.9.5


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


Re: [PATCH v4 3/3] wlcore/wl12xx: spi: add wifi support to cm-t335

2016-01-07 Thread Uri Mashiach

Hi Kalle Valo,

On 01/07/2016 11:02 AM, Kalle Valo wrote:

Uri Mashiach  writes:


Device tree modifications:
- Pinmux for SPI0 and WiFi GPIOs.
- SPI0 node with wlcore as a child node.

Cc: Tony Lindgren 
Signed-off-by: Uri Mashiach 
---
v1 -> v2: Replace interrupts and interrupt-parent with interrupts-extended.
v2 -> v3: Move the pinctrl-0 = <_pins> to the wlcore node.
v3 -> v4: replace interrupts-extended with interrupts and interrupt-parent. 
(revert v2 modification).
   According to Rob Herring and 
Documentation/devicetree/bindings/interrupt-controller/interrupts.txt,
  interrupts-extended should only be used when a device has multiple 
interrupt parents.

  arch/arm/boot/dts/am335x-cm-t335.dts | 55 
  1 file changed, 55 insertions(+)


To what tree should this patch go? My wireless-drivers-next tree doesn't
even have this file.


Should be applied into omap-for-v4.x/dt



https://patchwork.kernel.org/patch/7933441/



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


Re: [PATCH v1 0/2] wil6210 patches

2016-01-07 Thread Kalle Valo
Maya Erez  writes:

> Chanes in V1:
> - Fixed patches author and sign-off.
>
> Those patches fix wil6210 issue and add support for platform specific 
> recovery after FW crash
>
> Hamad Kadmany (1):
>   wil6210: fix kernel OOPS when stopping interface during Rx traffic
>
> Lior David (1):
>   wil6210: support for platform specific crash recovery

Applied to ath.git, thanks.

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


[PATCH] wlcore: fix error handling in wlcore_event_fw_logger

2016-01-07 Thread Andrzej Hajda
wlcore_read/wlcore_write can return negative values so it should
be assigned to signed variable.

The problem has been detected using proposed semantic patch
scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1].

[1]: http://permalink.gmane.org/gmane.linux.kernel/2120705

Fixes: 3719c17e1816 ("wlcore/wl18xx: fw logger over sdio")
Signed-off-by: Andrzej Hajda 
---
 drivers/net/wireless/ti/wlcore/event.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ti/wlcore/event.c 
b/drivers/net/wireless/ti/wlcore/event.c
index c964054..4b59f67 100644
--- a/drivers/net/wireless/ti/wlcore/event.c
+++ b/drivers/net/wireless/ti/wlcore/event.c
@@ -38,7 +38,7 @@
 
 int wlcore_event_fw_logger(struct wl1271 *wl)
 {
-   u32 ret;
+   int ret;
struct fw_logger_information fw_log;
u8  *buffer;
u32 internal_fw_addrbase = WL18XX_DATA_RAM_BASE_ADDRESS;
-- 
1.9.1

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


Re: [PATCH] iwlwifi: Document missing module options

2016-01-07 Thread Grumbach, Emmanuel
Hi,


On 01/07/2016 12:24 AM, Rodrigo Freire wrote:
> This patch documents two missing module options in the internal
> code comment block.
>
> Signed-off-by: Rodrigo Freire 
> ---
>  drivers/net/wireless/iwlwifi/iwl-modparams.h |2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/wireless/iwlwifi/iwl-modparams.h 
> b/drivers/net/wireless/iwlwifi/iwl-modparams.h
> index ac2b90d..1477277 100644
> --- a/drivers/net/wireless/iwlwifi/iwl-modparams.h
> +++ b/drivers/net/wireless/iwlwifi/iwl-modparams.h
> @@ -102,6 +102,8 @@ enum iwl_disable_11n {
>   * @power_level: power level, default = 1
>   * @debug_level: levels are IWL_DL_*
>   * @ant_coupling: antenna coupling in dB, default = 0
> + * @nvm_file: specifies a external NVM file
> + * @uapsd_disable: disable U-APSD, default = 1
>   * @d0i3_disable: disable d0i3, default = 1,
>   * @lar_disable: disable LAR (regulatory), default = 0
>   * @fw_monitor: allow to use firmware monitor
Applied in our internal tree. Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] ath10k: Set SM power save disabled to default value

2016-01-07 Thread Kalle Valo
Peter Oh  writes:

> Use SMPS disabled as default because FW does not indicate
> any support of SMPS.
>
> This change will help STAs out that don’t support SMPS from
> sticking on 1SS, since they don’t have method to change it
> back to multiple chains.
>
> This change also should not affect power consumption of STAs
> supporting SMPS, because they are capable to switch the mode
> to dynamic or static either at the end of frame sequence or
> by using SMPS action frame.
>
> Signed-off-by: Peter Oh 

Applied, thanks.

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


Re: [patch -next] ath9k: fix ath9k_hw_nvram_check_version()

2016-01-07 Thread Kalle Valo
Dan Carpenter  writes:

> There is a type bug so it always returns success.
>
> Fixes: 6fa658fd5ab2 ('ath9k: Simplify and fix eeprom endianness swapping')
> Signed-off-by: Dan Carpenter 

Applied to ath.git, thanks.

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


Re: [PATCH v3 0/2] wcn36xx: fix crash because rx skb allocation failure

2016-01-07 Thread Kalle Valo
Fengwei Yin  writes:

> The current wcn36xx driver didn't handle rx skb allocation failure case.
> It only could be triggered when system is in extremly memory shortage
> case. King Lawrence  hit it by git clone linux
> kernel tree on DragonBoard <1>.
>
> The fixing is not to submit the old rx skb to network upper layer and 
> reuse it as rx DMA buffer again.
>
> Changes from v2:
>  * Remove the ugly macro introduced in v2 per comment from Julian Calaby.
>  * Seperate the DMA int mask register writing as one patch per comment
>from Bjorn Andersson.
>
> Changes from v1:
>  * Move switch block out of while loop.
>  * Remove the warning of unknown channel because we didn't deal with it.
>
> Fengwei Yin (2):
>   wcn36xx: handle rx skb allocation failure to avoid system crash
>   wcn36xx: split DMA mask register writing.

Applied to ath.git, thanks.

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


pull request: iwlwifi-next 2016-01-07

2016-01-07 Thread Grumbach, Emmanuel
Hi Kalle,

Here is the last round of patches for 4.5. Most of them are small and / or 
fixes.
Let me know if you have issues.
FYI - I scripted a few checks so that I hope that the internal tags that leaked
in the previous pull request won't leak any more.

The following changes since commit e5d15cb530082cc13a6c9457eddd6f75b0f4de65:

  iwlwifi: bail out in case of bad trans state (2015-12-21 19:35:41 +0200)

are available in the git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git 
tags/iwlwifi-next-for-kalle-2016-01-07

for you to fetch changes up to ccecff64ac4ee0d2f610e6606d2dfb17a38436f6:

  iwlwifi: pcie: properly configure the debug buffer size for 8000 (2016-01-07 
14:39:58 +0200)


* bug fixes and improvements for firmware debug system (Golan and myself)
* fixes for D0i3 (Eliad)
* prevent muliple stations with the same MAC address
* advertise support for Rx A-MSDU in A-MPDU
* scan related fixes
* support -20.ucode
* fix WoWLAN for iwldvm
* preparations towards multiple Rx queues
* platform power improvements for GO mode when no clients are associated


Ayala Beker (1):
  iwlwifi: mvm: don't ask beacons when P2P GO vif and no assoc sta

David Spinadel (1):
  iwlwifi: mvm: fix extended dwell time

Eliad Peller (1):
  iwlwifi: mvm: initialize gtkdata->mvm correctly

Emmanuel Grumbach (10):
  iwlwifi: dvm: fix WoWLAN
  iwlwifi: mvm: let the firmware choose the antenna for beacons
  iwlwifi: mvm: reset mvm->scan_type when firmware is started
  iwlwifi: set max firmware version of 7265 to 17
  iwlwifi: mvm: bump max API to 20
  iwlwifi: mvm: dump the radio registers when the firmware crashes
  iwlwifi: mvm: remove useless WARN_ON and rely on cfg80211's combination
  iwlwifi: mvm: constify the parameters of a few functions in fw-dbg.c
  iwlwifi: mvm: fix memory leaks in error paths upon fw error dump
  iwlwifi: pcie: properly configure the debug buffer size for 8000

Golan Ben-Ami (1):
  iwlwifi: mvm: add a non-trigger window to fw dbg triggers

Johannes Berg (4):
  iwlwifi: mvm: support A-MSDU in A-MPDU
  iwlwifi: mvm: prevent multiple stations with the same address
  iwlwifi: mvm: check PN for CCMP/GCMP in the driver
  iwlwifi: mvm: check minimum temperature notification length

Matti Gottlieb (1):
  iwlwifi: mvm: change mcc update API

Oren Givon (2):
  iwlwifi: update and fix 7265 series PCI IDs
  iwlwifi: nvm: fix loading default NVM file

 drivers/net/wireless/intel/iwlwifi/dvm/lib.c   |   4 
 drivers/net/wireless/intel/iwlwifi/iwl-7000.c  |   4 ++--
 drivers/net/wireless/intel/iwlwifi/iwl-8000.c  |   2 +-
 drivers/net/wireless/intel/iwlwifi/iwl-9000.c  |   2 +-
 drivers/net/wireless/intel/iwlwifi/iwl-fw-error-dump.h |   2 ++
 drivers/net/wireless/intel/iwlwifi/iwl-fw-file.h   |  12 +++-
 drivers/net/wireless/intel/iwlwifi/iwl-prph.h  |   6 ++
 drivers/net/wireless/intel/iwlwifi/iwl-trans.h |   4 ++--
 drivers/net/wireless/intel/iwlwifi/mvm/d3.c| 115 
+++
 drivers/net/wireless/intel/iwlwifi/mvm/fw-api.h|  60 
+---
 drivers/net/wireless/intel/iwlwifi/mvm/fw-dbg.c|  62 
--
 drivers/net/wireless/intel/iwlwifi/mvm/fw-dbg.h|  30 
+++---
 drivers/net/wireless/intel/iwlwifi/mvm/fw.c|   1 +
 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c  |  53 
+
 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c  |  49 
-
 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h   |   9 ++---
 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c   |  55 
+--
 drivers/net/wireless/intel/iwlwifi/mvm/power.c |   2 --
 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c  | 106 
+-
 drivers/net/wireless/intel/iwlwifi/mvm/scan.c  |  13 +++--
 drivers/net/wireless/intel/iwlwifi/mvm/sta.h   |  12 
 drivers/net/wireless/intel/iwlwifi/mvm/tt.c|   2 +-
 drivers/net/wireless/intel/iwlwifi/pcie/drv.c  |   5 +++--
 drivers/net/wireless/intel/iwlwifi/pcie/trans.c|  17 +
 24 files changed, 506 insertions(+), 121 deletions(-)

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

Re: lost connectivity until "wpa_cli reassociate" is issued

2016-01-07 Thread David Mosberger
Ben,

On Thu, Jan 7, 2016 at 9:24 AM, Ben Greear  wrote:
> On 01/07/2016 08:19 AM, David Mosberger wrote:
>>
>> We are seeing a curious issue where WLAN connectivity sometimes
>> gets stuck until a "wpa_cli reassociate" command is issued.
>>
>> At the WPA level, everything appears to be working fine)
>> (see thread starting at
>> http://lists.infradead.org/pipermail/hostap/2016-January/034454.html).
>
> I don't remember seeing you mention the driver and NIC you are using.
>
> I think this is likely a driver bug, so please provide that info.

Sure, we're using rtl8192cu.  I started out suspecting a driver bug as
well, but since we're processing management frames during those
"stuck" periods just fine (see
debug output in
http://lists.infradead.org/pipermail/hostap/2016-January/034459.html),
I'm not so sure anymore.  Like mac80211, we have patched rtl8192cu
driver with current
bug-fixes already.

  --david
-- 
eGauge Systems LLC, http://egauge.net/, 1.877-EGAUGE1, fax 720.545.9768
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: lost connectivity until "wpa_cli reassociate" is issued

2016-01-07 Thread Krishna Chaitanya
On Thu, Jan 7, 2016 at 9:59 PM, David Mosberger  wrote:
>
> Ben,
>
> On Thu, Jan 7, 2016 at 9:24 AM, Ben Greear  wrote:
> > On 01/07/2016 08:19 AM, David Mosberger wrote:
> >>
> >> We are seeing a curious issue where WLAN connectivity sometimes
> >> gets stuck until a "wpa_cli reassociate" command is issued.
> >>
> >> At the WPA level, everything appears to be working fine)
> >> (see thread starting at
> >> http://lists.infradead.org/pipermail/hostap/2016-January/034454.html).
> >
> > I don't remember seeing you mention the driver and NIC you are using.
> >
> > I think this is likely a driver bug, so please provide that info.
>
> Sure, we're using rtl8192cu.  I started out suspecting a driver bug as
> well, but since we're processing management frames during those
> "stuck" periods just fine (see
> debug output in
> http://lists.infradead.org/pipermail/hostap/2016-January/034459.html),
> I'm not so sure anymore.  Like mac80211, we have patched rtl8192cu
> driver with current
> bug-fixes already.

Management frames use a different queue (VO)
from the logs it looks like a data path issue in driver/FW.

The re-association might be clearing/triggering TX in driver
solving the issue.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: lost connectivity until "wpa_cli reassociate" is issued

2016-01-07 Thread David Mosberger
On Thu, Jan 7, 2016 at 9:32 AM, Krishna Chaitanya
 wrote:

> Management frames use a different queue (VO)
> from the logs it looks like a data path issue in driver/FW.
>
> The re-association might be clearing/triggering TX in driver
> solving the issue.

That sounds plausible to me.  Is there an easy way to see the queues?
I haven't tried debugfs yet.

  --david
-- 
eGauge Systems LLC, http://egauge.net/, 1.877-EGAUGE1, fax 720.545.9768
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: lost connectivity until "wpa_cli reassociate" is issued

2016-01-07 Thread Krishna Chaitanya
On Thu, Jan 7, 2016 at 10:17 PM, David Mosberger  wrote:
> On Thu, Jan 7, 2016 at 9:32 AM, Krishna Chaitanya
>  wrote:
>
>> Management frames use a different queue (VO)
>> from the logs it looks like a data path issue in driver/FW.
>>
>> The re-association might be clearing/triggering TX in driver
>> solving the issue.
>
> That sounds plausible to me.  Is there an easy way to see the queues?
> I haven't tried debugfs yet.
We can check pending packets per queue at mac80211, but first
we need some info from driver level. Someone familiar with RTL
should help.

cat /sys/kernel/debug/ieee80211/phy*/queues

If you see non-zero packets here (or) if the queue is stopped
that might explain this behavior...
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: lost connectivity until "wpa_cli reassociate" is issued

2016-01-07 Thread Ben Greear

On 01/07/2016 08:29 AM, David Mosberger wrote:

Ben,

On Thu, Jan 7, 2016 at 9:24 AM, Ben Greear  wrote:

On 01/07/2016 08:19 AM, David Mosberger wrote:


We are seeing a curious issue where WLAN connectivity sometimes
gets stuck until a "wpa_cli reassociate" command is issued.

At the WPA level, everything appears to be working fine)
(see thread starting at
http://lists.infradead.org/pipermail/hostap/2016-January/034454.html).


I don't remember seeing you mention the driver and NIC you are using.

I think this is likely a driver bug, so please provide that info.


Sure, we're using rtl8192cu.  I started out suspecting a driver bug as
well, but since we're processing management frames during those
"stuck" periods just fine (see
debug output in
http://lists.infradead.org/pipermail/hostap/2016-January/034459.html),
I'm not so sure anymore.  Like mac80211, we have patched rtl8192cu
driver with current
bug-fixes already.


I have no experience with that chip, but wifi is a tricky beast.  Could be
a power-save issue perhaps.  I assume you have sniffed to see if any frames
are going out on the air during the time of trouble?

If correct packets go out on the air and AP doesn't answer, then likely AP 
problem.

If pkts don't get on the air, then check to see if they at least get to
the driver.

If they don't get to the driver, then probably it is a kernel/stack issue.

If they get to the driver but not on the air, then NIC and/or it's firmware
and/or the driver is likely the culprit.

Thanks,
Ben



   --david




--
Ben Greear 
Candela Technologies Inc  http://www.candelatech.com

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


Re: lost connectivity until "wpa_cli reassociate" is issued

2016-01-07 Thread David Mosberger
Ben,

On Thu, Jan 7, 2016 at 9:33 AM, Ben Greear  wrote:

> Could be
> a power-save issue perhaps.

That was our thought, too.  Particularly, since if there is steady
traffic (at least a ping every 8 seconds), the problem does not appear
to occur.

However, the rtl8192cu doesn't support power-saving mode and in any
case, we made sure it's off:

  # iw wlan0 get power_save
  Power save: off

> I assume you have sniffed to see if any frames are going out on the air 
> during the time of trouble?

No, I'm not actually sure how I'd do that.  The site we see this most
frequently with is
remote and we don't have any special WiFi packet sniffer.

> If correct packets go out on the air and AP doesn't answer, then likely AP
> problem.

Not likely an AP problem, since we're seeing this with multiple APs of
different brands etc.

> If pkts don't get on the air, then check to see if they at least get to
> the driver.

Yeah, that should be easy to do, I suppose.  We had rtl8192cu
debugging turned on
before but at that time it didn't help.

> If they don't get to the driver, then probably it is a kernel/stack issue.
>
> If they get to the driver but not on the air, then NIC and/or it's firmware
> and/or the driver is likely the culprit.

Thanks for your thoughts!

  --david
-- 
eGauge Systems LLC, http://egauge.net/, 1.877-EGAUGE1, fax 720.545.9768
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: pull request: iwlwifi-next 2016-01-07

2016-01-07 Thread Grumbach, Emmanuel
Me again,

On 01/07/2016 02:46 PM, Grumbach, Emmanuel wrote:
> Hi Kalle,
>
> Here is the last round of patches for 4.5. Most of them are small and / or 
> fixes.
> Let me know if you have issues.
> FYI - I scripted a few checks so that I hope that the internal tags that 
> leaked
> in the previous pull request won't leak any more.
>
> The following changes since commit e5d15cb530082cc13a6c9457eddd6f75b0f4de65:

I had to edit one commit. I re-pushed to the same tag and added another
_2 tag if you prefer to be sure.

>   iwlwifi: bail out in case of bad trans state (2015-12-21 19:35:41 +0200)
>
> are available in the git repository at:
>
>   https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git 
> tags/iwlwifi-next-for-kalle-2016-01-07
>
> for you to fetch changes up to ccecff64ac4ee0d2f610e6606d2dfb17a38436f6:
>
>   iwlwifi: pcie: properly configure the debug buffer size for 8000 
> (2016-01-07 14:39:58 +0200)
>
> 
> * bug fixes and improvements for firmware debug system (Golan and myself)
> * fixes for D0i3 (Eliad)
> * prevent muliple stations with the same MAC address
> * advertise support for Rx A-MSDU in A-MPDU
> * scan related fixes
> * support -20.ucode
> * fix WoWLAN for iwldvm
> * preparations towards multiple Rx queues
> * platform power improvements for GO mode when no clients are associated
>
> 
> Ayala Beker (1):
>   iwlwifi: mvm: don't ask beacons when P2P GO vif and no assoc sta
>
> David Spinadel (1):
>   iwlwifi: mvm: fix extended dwell time
>
> Eliad Peller (1):
>   iwlwifi: mvm: initialize gtkdata->mvm correctly
>
> Emmanuel Grumbach (10):
>   iwlwifi: dvm: fix WoWLAN
>   iwlwifi: mvm: let the firmware choose the antenna for beacons
>   iwlwifi: mvm: reset mvm->scan_type when firmware is started
>   iwlwifi: set max firmware version of 7265 to 17
>   iwlwifi: mvm: bump max API to 20
>   iwlwifi: mvm: dump the radio registers when the firmware crashes
>   iwlwifi: mvm: remove useless WARN_ON and rely on cfg80211's combination
>   iwlwifi: mvm: constify the parameters of a few functions in fw-dbg.c
>   iwlwifi: mvm: fix memory leaks in error paths upon fw error dump
>   iwlwifi: pcie: properly configure the debug buffer size for 8000
>
> Golan Ben-Ami (1):
>   iwlwifi: mvm: add a non-trigger window to fw dbg triggers
>
> Johannes Berg (4):
>   iwlwifi: mvm: support A-MSDU in A-MPDU
>   iwlwifi: mvm: prevent multiple stations with the same address
>   iwlwifi: mvm: check PN for CCMP/GCMP in the driver
>   iwlwifi: mvm: check minimum temperature notification length
>
> Matti Gottlieb (1):
>   iwlwifi: mvm: change mcc update API
>
> Oren Givon (2):
>   iwlwifi: update and fix 7265 series PCI IDs
>   iwlwifi: nvm: fix loading default NVM file
>
>  drivers/net/wireless/intel/iwlwifi/dvm/lib.c   |   4 
>  drivers/net/wireless/intel/iwlwifi/iwl-7000.c  |   4 ++--
>  drivers/net/wireless/intel/iwlwifi/iwl-8000.c  |   2 +-
>  drivers/net/wireless/intel/iwlwifi/iwl-9000.c  |   2 +-
>  drivers/net/wireless/intel/iwlwifi/iwl-fw-error-dump.h |   2 ++
>  drivers/net/wireless/intel/iwlwifi/iwl-fw-file.h   |  12 +++-
>  drivers/net/wireless/intel/iwlwifi/iwl-prph.h  |   6 ++
>  drivers/net/wireless/intel/iwlwifi/iwl-trans.h |   4 ++--
>  drivers/net/wireless/intel/iwlwifi/mvm/d3.c| 115 
> +++
>  drivers/net/wireless/intel/iwlwifi/mvm/fw-api.h|  60 
> +---
>  drivers/net/wireless/intel/iwlwifi/mvm/fw-dbg.c|  62 
> --
>  drivers/net/wireless/intel/iwlwifi/mvm/fw-dbg.h|  30 
> +++---
>  drivers/net/wireless/intel/iwlwifi/mvm/fw.c|   1 +
>  drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c  |  53 
> +
>  drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c  |  49 
> -
>  drivers/net/wireless/intel/iwlwifi/mvm/mvm.h   |   9 ++---
>  drivers/net/wireless/intel/iwlwifi/mvm/nvm.c   |  55 
> +--
>  drivers/net/wireless/intel/iwlwifi/mvm/power.c |   2 --
>  drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c  | 106 
> +-
>  drivers/net/wireless/intel/iwlwifi/mvm/scan.c  |  13 +++--
>  drivers/net/wireless/intel/iwlwifi/mvm/sta.h   |  12 
>  drivers/net/wireless/intel/iwlwifi/mvm/tt.c|   2 +-
>  

Re: lost connectivity until "wpa_cli reassociate" is issued

2016-01-07 Thread David Mosberger
On Thu, Jan 7, 2016 at 9:58 AM, Krishna Chaitanya
 wrote:

> We can check pending packets per queue at mac80211, but first
> we need some info from driver level. Someone familiar with RTL
> should help.
>
> cat /sys/kernel/debug/ieee80211/phy*/queues
>
> If you see non-zero packets here (or) if the queue is stopped
> that might explain this behavior...

Cool.  I'll check that next time it happens, thanks!

  --david
-- 
eGauge Systems LLC, http://egauge.net/, 1.877-EGAUGE1, fax 720.545.9768
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html