M7350v3_en_gpl
This commit is contained in:
50
external/compat-wireless/net/wireless/ap.c
vendored
50
external/compat-wireless/net/wireless/ap.c
vendored
@ -1,6 +1,5 @@
|
||||
#include <linux/ieee80211.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/timer.h>
|
||||
#include <net/cfg80211.h>
|
||||
#include "nl80211.h"
|
||||
#include "core.h"
|
||||
@ -45,52 +44,3 @@ int cfg80211_stop_ap(struct cfg80211_registered_device *rdev,
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* AP Start Failure Notify timer
|
||||
*/
|
||||
static struct timer_list _asfn_timer;
|
||||
|
||||
/*
|
||||
* timer-function_ap-start-failure-notify
|
||||
*/
|
||||
static void _tf_asfn(unsigned long data)
|
||||
{
|
||||
struct net_device *dev = (struct net_device *)data;
|
||||
|
||||
struct wireless_dev *wdev = dev->ieee80211_ptr;
|
||||
struct wiphy *wiphy = wdev->wiphy;
|
||||
struct cfg80211_registered_device *rdev = wiphy_to_dev(wiphy);
|
||||
|
||||
nl80211_ap_start_failure_notify(rdev, dev, GFP_KERNEL);
|
||||
}
|
||||
|
||||
int cfg80211_ap_start_failure_notify(struct net_device *dev)
|
||||
{
|
||||
/*
|
||||
* Set a timer to send msg of AP start failure
|
||||
* so that upper layer app(QCMAP/Hostapd Agent)
|
||||
* can get notified.
|
||||
*/
|
||||
init_timer(&_asfn_timer);
|
||||
_asfn_timer.expires = jiffies + HZ * 5;
|
||||
_asfn_timer.function = _tf_asfn;
|
||||
_asfn_timer.data = (unsigned long)dev;
|
||||
|
||||
add_timer(&_asfn_timer);
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(cfg80211_ap_start_failure_notify);
|
||||
|
||||
|
||||
int cfg80211_ap_fw_error_notify(struct wiphy *wy)
|
||||
{
|
||||
struct cfg80211_registered_device *rdev = wiphy_to_dev(wy);
|
||||
nl80211_ap_fw_error_notify(rdev, GFP_KERNEL);
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(cfg80211_ap_fw_error_notify);
|
||||
|
61
external/compat-wireless/net/wireless/db.txt
vendored
61
external/compat-wireless/net/wireless/db.txt
vendored
@ -19,10 +19,7 @@ country AE:
|
||||
(5490 - 5710 @ 40), (N/A, 27), DFS
|
||||
|
||||
country AL:
|
||||
(2402 - 2482 @ 40), (N/A, 20)
|
||||
(5170 - 5250 @ 20), (N/A, 20)
|
||||
(5250 - 5330 @ 20), (N/A, 20), DFS
|
||||
(5490 - 5710 @ 20), (N/A, 27), DFS
|
||||
(2402 - 2482 @ 20), (N/A, 20)
|
||||
|
||||
country AM:
|
||||
(2402 - 2482 @ 40), (N/A, 20)
|
||||
@ -247,12 +244,6 @@ country ES: DFS-ETSI
|
||||
(5250 - 5330 @ 40), (N/A, 20), DFS
|
||||
(5490 - 5710 @ 40), (N/A, 27), DFS
|
||||
|
||||
country ET: DFS-ETSI
|
||||
(2402 - 2482 @ 40), (N/A, 20)
|
||||
(5170 - 5250 @ 40), (N/A, 20)
|
||||
(5250 - 5330 @ 40), (N/A, 20), DFS
|
||||
(5490 - 5710 @ 40), (N/A, 27), DFS
|
||||
|
||||
country FI: DFS-ETSI
|
||||
(2402 - 2482 @ 40), (N/A, 20)
|
||||
(5170 - 5250 @ 40), (N/A, 20)
|
||||
@ -346,7 +337,6 @@ country HU: DFS-ETSI
|
||||
|
||||
country ID:
|
||||
(2402 - 2482 @ 40), (N/A, 20)
|
||||
(5735 - 5815 @ 20), (N/A, 23)
|
||||
|
||||
country IE: DFS-ETSI
|
||||
(2402 - 2482 @ 40), (N/A, 20)
|
||||
@ -417,19 +407,19 @@ country KH:
|
||||
(5490 - 5710 @ 40), (N/A, 27), DFS
|
||||
|
||||
country KP:
|
||||
(2402 - 2482 @ 20), (N/A, 20)
|
||||
(5170 - 5330 @ 20), (3, 20)
|
||||
(5160 - 5250 @ 20), (3, 20), DFS
|
||||
(5490 - 5630 @ 20), (3, 30), DFS
|
||||
(5735 - 5815 @ 20), (3, 30)
|
||||
|
||||
country KR:
|
||||
(2402 - 2482 @ 40), (N/A, 20)
|
||||
(5170 - 5250 @ 40), (3, 20)
|
||||
(5250 - 5330 @ 40), (3, 20), DFS
|
||||
(5170 - 5330 @ 40), (3, 20)
|
||||
(5160 - 5250 @ 40), (3, 20), DFS
|
||||
(5490 - 5630 @ 40), (3, 30), DFS
|
||||
(5735 - 5815 @ 40), (3, 30)
|
||||
|
||||
country KR:
|
||||
(2402 - 2482 @ 20), (N/A, 20)
|
||||
(5170 - 5250 @ 20), (3, 20)
|
||||
(5250 - 5330 @ 20), (3, 20), DFS
|
||||
(5490 - 5630 @ 20), (3, 30), DFS
|
||||
(5735 - 5815 @ 20), (3, 30)
|
||||
|
||||
country KW:
|
||||
(2402 - 2482 @ 40), (N/A, 20)
|
||||
(5170 - 5250 @ 40), (N/A, 20)
|
||||
@ -491,8 +481,6 @@ country MC: DFS-ETSI
|
||||
|
||||
country MA:
|
||||
(2402 - 2482 @ 40), (N/A, 20)
|
||||
(5170 - 5250 @ 40), (N/A, 23)
|
||||
(5735 - 5835 @ 40), (N/A, 23)
|
||||
|
||||
country ME: DFS-ETSI
|
||||
(2402 - 2482 @ 40), (N/A, 20)
|
||||
@ -520,12 +508,11 @@ country MT: DFS-ETSI
|
||||
|
||||
country MY:
|
||||
(2402 - 2482 @ 40), (N/A, 20)
|
||||
(5170 - 5250 @ 40), (N/A, 20)
|
||||
(5250 - 5330 @ 40), (N/A, 30), DFS
|
||||
(5735 - 5835 @ 40), (N/A, 30)
|
||||
|
||||
country MX:
|
||||
(2402 - 2482 @ 40), (3, 27)
|
||||
(2402 - 2472 @ 40), (3, 27)
|
||||
(5170 - 5250 @ 40), (3, 17)
|
||||
(5250 - 5330 @ 40), (3, 23), DFS
|
||||
(5735 - 5835 @ 40), (3, 30)
|
||||
@ -554,9 +541,9 @@ country NP:
|
||||
|
||||
country NZ:
|
||||
(2402 - 2482 @ 40), (N/A, 30)
|
||||
(5170 - 5250 @ 40), (3, 23)
|
||||
(5250 - 5330 @ 40), (3, 23), DFS
|
||||
(5735 - 5835 @ 40), (3, 30)
|
||||
(5170 - 5250 @ 20), (3, 23)
|
||||
(5250 - 5330 @ 20), (3, 23), DFS
|
||||
(5735 - 5835 @ 20), (3, 30)
|
||||
|
||||
country OM:
|
||||
(2402 - 2482 @ 40), (N/A, 20)
|
||||
@ -573,8 +560,6 @@ country PA:
|
||||
|
||||
country PE:
|
||||
(2402 - 2482 @ 40), (N/A, 20)
|
||||
(5170 - 5250 @ 40), (3, 17)
|
||||
(5250 - 5330 @ 40), (3, 23), DFS
|
||||
(5735 - 5835 @ 40), (N/A, 30)
|
||||
|
||||
country PG:
|
||||
@ -585,8 +570,6 @@ country PG:
|
||||
|
||||
country PH:
|
||||
(2402 - 2482 @ 40), (N/A, 20)
|
||||
(5170 - 5250 @ 40), (3, 17)
|
||||
(5250 - 5330 @ 40), (3, 23), DFS
|
||||
(5735 - 5835 @ 40), (N/A, 30)
|
||||
|
||||
country PK:
|
||||
@ -635,10 +618,7 @@ country RS: DFS-ETSI
|
||||
|
||||
country RU:
|
||||
(2402 - 2482 @ 40), (N/A, 20)
|
||||
(5170 - 5250 @ 40), (N/A, 20)
|
||||
(5250 - 5340 @ 40), (N/A, 20), DFS
|
||||
(5650 - 5710 @ 40), (N/A, 20), DFS
|
||||
(5735 - 5835 @ 40), (N/A, 30)
|
||||
(5735 - 5835 @ 20), (N/A, 30)
|
||||
|
||||
country RW:
|
||||
(2402 - 2482 @ 40), (N/A, 20)
|
||||
@ -714,10 +694,6 @@ country TR: DFS-ETSI
|
||||
|
||||
country UA:
|
||||
(2402 - 2482 @ 40), (N/A, 20)
|
||||
(5170 - 5250 @ 40), (N/A, 20)
|
||||
(5250 - 5330 @ 40), (N/A, 20), DFS
|
||||
(5490 - 5670 @ 40), (N/A, 20), DFS
|
||||
(5735 - 5835 @ 40), (N/A, 20)
|
||||
|
||||
country UG:
|
||||
(2402 - 2478 @ 40), (N/A, 20)
|
||||
@ -750,9 +726,7 @@ country UZ:
|
||||
|
||||
country VE:
|
||||
(2402 - 2482 @ 40), (N/A, 20)
|
||||
(5170 - 5250 @ 40), (3, 17)
|
||||
(5250 - 5330 @ 40), (3, 20), DFS
|
||||
(5490 - 5710 @ 40), (N/A, 23), DFS
|
||||
(5735 - 5815 @ 40), (N/A, 23)
|
||||
|
||||
country VN:
|
||||
(2402 - 2482 @ 40), (N/A, 20)
|
||||
@ -771,7 +745,4 @@ country ZA:
|
||||
|
||||
country ZW:
|
||||
(2402 - 2482 @ 40), (N/A, 20)
|
||||
(5170 - 5250 @ 40), (N/A, 20)
|
||||
(5250 - 5330 @ 40), (N/A, 20), DFS
|
||||
(5490 - 5710 @ 40), (N/A, 27), DFS
|
||||
|
||||
|
73
external/compat-wireless/net/wireless/nl80211.c
vendored
73
external/compat-wireless/net/wireless/nl80211.c
vendored
@ -303,7 +303,6 @@ static const struct nla_policy nl80211_policy[NL80211_ATTR_MAX+1] = {
|
||||
[NL80211_ATTR_HT_2040_MODE] = { .type = NLA_U8 },
|
||||
[NL80211_ATTR_MAX_NUM_STA] = { .type = NLA_U32 },
|
||||
[NL80211_ATTR_ACS_CHAN_MASK] = { .type = NLA_U32 },
|
||||
[NL80211_ATTR_HT40_SEC_CHOFF] = { .type = NLA_U8 },
|
||||
};
|
||||
|
||||
/* policy for the key attributes */
|
||||
@ -2325,7 +2324,9 @@ static int nl80211_set_mac_acl(struct sk_buff *skb, struct genl_info *info)
|
||||
if (!(rdev->wiphy.features & NL80211_FEATURE_MAC_ACL))
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
if (!info->attrs[NL80211_ATTR_ACL_POLICY])
|
||||
if (!info->attrs[NL80211_ATTR_ACL_POLICY] ||
|
||||
!info->attrs[NL80211_ATTR_MAC_ADDRS] ||
|
||||
!info->attrs[NL80211_ATTR_MAC_ADDRS_WILD])
|
||||
return -EINVAL;
|
||||
|
||||
n_mac_addrs = validate_acl_mac_addrs(
|
||||
@ -2620,11 +2621,6 @@ static int nl80211_start_ap(struct sk_buff *skb, struct genl_info *info)
|
||||
params.ht_cap_info = nla_get_u16(info->attrs[NL80211_ATTR_HT_CAPABILITY]);
|
||||
}
|
||||
|
||||
if (info->attrs[NL80211_ATTR_HT40_SEC_CHOFF]) {
|
||||
params.ht40_sec_choff =
|
||||
nla_get_u8(info->attrs[NL80211_ATTR_HT40_SEC_CHOFF]);
|
||||
}
|
||||
|
||||
if (info->attrs[NL80211_ATTR_MAC_ACL]) {
|
||||
if (!(rdev->wiphy.features & NL80211_FEATURE_MAC_ACL))
|
||||
return -EOPNOTSUPP;
|
||||
@ -8528,69 +8524,6 @@ void nl80211_ch_switch_notify(struct cfg80211_registered_device *rdev,
|
||||
nlmsg_free(msg);
|
||||
}
|
||||
|
||||
|
||||
void nl80211_ap_start_failure_notify(struct cfg80211_registered_device *rdev,
|
||||
struct net_device *netdev, gfp_t gfp)
|
||||
{
|
||||
struct sk_buff *msg;
|
||||
void *hdr;
|
||||
|
||||
msg = nlmsg_new(NLMSG_GOODSIZE, gfp);
|
||||
if (!msg)
|
||||
return;
|
||||
|
||||
hdr = nl80211hdr_put(msg, 0, 0, 0, NL80211_CMD_AP_START_FAILURE_NOTIFY);
|
||||
if (!hdr) {
|
||||
nlmsg_free(msg);
|
||||
return;
|
||||
}
|
||||
|
||||
if (nla_put_u32(msg, NL80211_ATTR_IFINDEX, netdev->ifindex))
|
||||
goto nla_put_failure;
|
||||
|
||||
genlmsg_end(msg, hdr);
|
||||
|
||||
genlmsg_multicast_netns(wiphy_net(&rdev->wiphy), msg, 0,
|
||||
nl80211_mlme_mcgrp.id, gfp);
|
||||
return;
|
||||
|
||||
nla_put_failure:
|
||||
genlmsg_cancel(msg, hdr);
|
||||
nlmsg_free(msg);
|
||||
}
|
||||
|
||||
|
||||
void nl80211_ap_fw_error_notify(struct cfg80211_registered_device *rdev,
|
||||
gfp_t gfp)
|
||||
{
|
||||
struct sk_buff *msg;
|
||||
void *hdr;
|
||||
|
||||
msg = nlmsg_new(NLMSG_GOODSIZE, gfp);
|
||||
if (!msg)
|
||||
return;
|
||||
|
||||
hdr = nl80211hdr_put(msg, 0, 0, 0, NL80211_CMD_AP_FW_ERROR_NOTIFY);
|
||||
if (!hdr) {
|
||||
nlmsg_free(msg);
|
||||
return;
|
||||
}
|
||||
|
||||
if (nla_put_u32(msg, NL80211_ATTR_IFINDEX, rdev->wiphy_idx))
|
||||
goto nla_put_failure;
|
||||
|
||||
genlmsg_end(msg, hdr);
|
||||
|
||||
genlmsg_multicast_netns(wiphy_net(&rdev->wiphy), msg, 0,
|
||||
nl80211_mlme_mcgrp.id, gfp);
|
||||
return;
|
||||
|
||||
nla_put_failure:
|
||||
genlmsg_cancel(msg, hdr);
|
||||
nlmsg_free(msg);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
nl80211_send_cqm_pktloss_notify(struct cfg80211_registered_device *rdev,
|
||||
struct net_device *netdev, const u8 *peer,
|
||||
|
@ -122,12 +122,6 @@ void nl80211_ch_switch_notify(struct cfg80211_registered_device *rdev,
|
||||
struct net_device *dev, int freq,
|
||||
enum nl80211_channel_type type, gfp_t gfp);
|
||||
|
||||
void nl80211_ap_start_failure_notify(struct cfg80211_registered_device *rdev,
|
||||
struct net_device *netdev, gfp_t gfp);
|
||||
|
||||
void nl80211_ap_fw_error_notify(struct cfg80211_registered_device *rdev,
|
||||
gfp_t gfp);
|
||||
|
||||
bool nl80211_unexpected_frame(struct net_device *dev,
|
||||
const u8 *addr, gfp_t gfp);
|
||||
bool nl80211_unexpected_4addr_frame(struct net_device *dev,
|
||||
|
Reference in New Issue
Block a user