M7350v3_en_gpl

This commit is contained in:
T
2024-09-09 08:55:19 +00:00
parent 801e6d2ad8
commit 2d95e8761a
2791 changed files with 89608 additions and 390711 deletions

View File

@ -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);

View File

@ -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

View File

@ -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,

View File

@ -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,