diff options
| author | Dustin Brown <dustinb@codeaurora.org> | 2016-09-07 14:52:57 -0700 |
|---|---|---|
| committer | qcabuildsw <qcabuildsw@localhost> | 2016-09-12 21:45:56 -0700 |
| commit | d8279d2d24f1637fe351cbce59c0776adbe79c80 (patch) | |
| tree | 957c2ff9d7b010ba704a937d1d6355a51dde3c46 | |
| parent | 62b63039007cd73ff7f7d475b5e1283de5c473dd (diff) | |
qcacld-3.0: Enable/Disable NS offload in FW as per user space request
When coniguring NS Offload via Cfg80211, configure firmware NS Offload
to match via HDD.
Change-Id: I8d95be773ff29512ebb72a8eb5e9dddbc9e675dd
CRs-Fixed: 1064168
| -rw-r--r-- | core/hdd/inc/wlan_hdd_power.h | 1 | ||||
| -rw-r--r-- | core/hdd/src/wlan_hdd_cfg80211.c | 5 | ||||
| -rw-r--r-- | core/hdd/src/wlan_hdd_power.c | 2 |
3 files changed, 7 insertions, 1 deletions
diff --git a/core/hdd/inc/wlan_hdd_power.h b/core/hdd/inc/wlan_hdd_power.h index a57e9b6eec7f..44780ec7bcdc 100644 --- a/core/hdd/inc/wlan_hdd_power.h +++ b/core/hdd/inc/wlan_hdd_power.h @@ -167,6 +167,7 @@ int wlan_hdd_cfg80211_resume_wlan(struct wiphy *wiphy); void hdd_ipv4_notifier_work_queue(struct work_struct *work); #ifdef WLAN_NS_OFFLOAD +void hdd_conf_ns_offload(hdd_adapter_t *adapter, bool fenable); void hdd_ipv6_notifier_work_queue(struct work_struct *work); #endif diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index d66047884d92..00f4306a0cb4 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -4849,6 +4849,8 @@ __wlan_hdd_cfg80211_set_ns_offload(struct wiphy *wiphy, int status; struct nlattr *tb[QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_MAX + 1]; hdd_context_t *pHddCtx = wiphy_priv(wiphy); + struct net_device *dev = wdev->netdev; + hdd_adapter_t *adapter = WLAN_HDD_GET_PRIV_PTR(dev); ENTER_DEV(wdev->netdev); @@ -4875,6 +4877,9 @@ __wlan_hdd_cfg80211_set_ns_offload(struct wiphy *wiphy, pHddCtx->ns_offload_enable = nla_get_u8(tb[QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_FLAG]); + /* update ns offload in case it is already enabled/disabled */ + hdd_conf_ns_offload(adapter, pHddCtx->ns_offload_enable); + return 0; } diff --git a/core/hdd/src/wlan_hdd_power.c b/core/hdd/src/wlan_hdd_power.c index 72d957535fe0..dafd85ec0623 100644 --- a/core/hdd/src/wlan_hdd_power.c +++ b/core/hdd/src/wlan_hdd_power.c @@ -508,7 +508,7 @@ static void hdd_enable_ns_offload(hdd_adapter_t *adapter) * * Return: nothing */ -static void hdd_conf_ns_offload(hdd_adapter_t *adapter, bool fenable) +void hdd_conf_ns_offload(hdd_adapter_t *adapter, bool fenable) { hdd_context_t *hdd_ctx; |
