diff mbox

[RFC,2/2] mac80211: store low ack threshold in bss config

Message ID 1425385383-25482-2-git-send-email-rmanohar@qti.qualcomm.com (mailing list archive)
State Changes Requested
Delegated to: Johannes Berg
Headers show

Commit Message

Rajkumar Manoharan March 3, 2015, 12:23 p.m. UTC
Store the low ack threshold configured by user in BSS config.
This will be used by driver for triggering low ack event whenever
the station is not ACKing the number of frames mentioned in
threshold.

Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com>
---
 include/net/mac80211.h | 3 +++
 net/mac80211/cfg.c     | 1 +
 2 files changed, 4 insertions(+)

Comments

Johannes Berg March 4, 2015, 8:15 a.m. UTC | #1
On Tue, 2015-03-03 at 17:53 +0530, Rajkumar Manoharan wrote:
> Store the low ack threshold configured by user in BSS config.
> This will be used by driver for triggering low ack event whenever
> the station is not ACKing the number of frames mentioned in
> threshold.

Err, this cannot possibly be sufficient. mac80211 already *has* this
functionality built into it, so you need to tie the two together, and if
you need to offload it to the device then you need to also bypass the
mac80211 implementation.

johannes

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

Patch

diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index d52914b..ec769dd 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -383,6 +383,8 @@  enum ieee80211_rssi_event {
  *	userspace), whereas TPC is disabled if %txpower_type is set to
  *	NL80211_TX_POWER_FIXED (use value configured from userspace)
  * @p2p_noa_attr: P2P NoA attribute for P2P powersave
+ * @low_ack_threshold: Number of consecutive packet loss to trigger low ack
+ *	event by driver.
  */
 struct ieee80211_bss_conf {
 	const u8 *bssid;
@@ -419,6 +421,7 @@  struct ieee80211_bss_conf {
 	int txpower;
 	enum nl80211_tx_power_setting txpower_type;
 	struct ieee80211_p2p_noa_attr p2p_noa_attr;
+	int low_ack_threshold;
 };
 
 /**
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index dd4ff36..514d3ab 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -772,6 +772,7 @@  static int ieee80211_start_ap(struct wiphy *wiphy, struct net_device *dev,
 	sdata->vif.bss_conf.beacon_int = params->beacon_interval;
 	sdata->vif.bss_conf.dtim_period = params->dtim_period;
 	sdata->vif.bss_conf.enable_beacon = true;
+	sdata->vif.bss_conf.low_ack_threshold = params->low_ack_threshold;
 
 	sdata->vif.bss_conf.ssid_len = params->ssid_len;
 	if (params->ssid_len)