mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
Just a few changes:
- maintainers: Larry Finger sadly passed away - maintainers: ath trees are in their group now - TXQ FQ quantum configuration fix - TI wl driver: work around stuck FW in AP mode - mac80211: disable softirqs in some new code needing that -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEpeA8sTs3M8SN2hR410qiO8sPaAAFAmZ9Iz4ACgkQ10qiO8sP aADG+hAAl4kOGUfU2URi7zd4iod0NCXo9Hqrn7tGkkj1szcO2GvRc69Mja4AKo3L eeUJe/YuGGAGS7myH6+ZF6yymMdLyq8qrcPKN7YeZATcaO/n6K90Go3Wsaz7jXWC xZcnbGV3qvYrAmraA6fxOJ42Z7bt3+h+VVqUU7h/a1iWvuKB+u5f0zn78LLNwwYq HOw/kbe8oAadUOb1Sj7QHdG0ZBvXNwr3q0oTFMW06Z/TxAITovsHQtQcjmi9uJQV ILXitLCo/Xe+skSnAeyC4wNSJYFGWO5TurgW1d7y9ZR5/xQtM95VIciQSLWoD/tR cbQLbNjML17yxvU7G6U7WYxgMFghhUA476GFIsis3s3/KxvQ5nIzQc403yltVpl3 I4E6mF63M37jvY+O3UyDWhWeYbR1/BBh6MQ2fKz57UZqvgLkzVohRwsK4G0jhF+S HmBALZmVOZFJGYDn/mxZIYwdG1iZoKSE/KMNrjNE/mX7IuE8ax5vvFqJ5yqYF6tq IpBoh/NOh9sa0Jq8gfb6VikM424hZ9tkzf5/+C7mhyW3Dl/pzcEojAjeoG5jMnrN 6r+nwypEt2byOE2GrIAKTcH4XhjQSXeedbC7vZ31Cm2ynT1K1H+cysMKl2wa18xz luweG0L4m9FQDBkT8UUPMlcZKNszye1cp+2F4tbZOKRKbMillXU= =TLwj -----END PGP SIGNATURE----- Merge tag 'wireless-2024-06-27' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless Johannes Berg says: ==================== Just a few changes: - maintainers: Larry Finger sadly passed away - maintainers: ath trees are in their group now - TXQ FQ quantum configuration fix - TI wl driver: work around stuck FW in AP mode - mac80211: disable softirqs in some new code needing that * tag 'wireless-2024-06-27' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless: MAINTAINERS: wifi: update ath.git location MAINTAINERS: Remembering Larry Finger wifi: mac80211: disable softirqs for queued frame handling wifi: cfg80211: restrict NL80211_ATTR_TXQ_QUANTUM values wifi: wlcore: fix wlcore AP mode ==================== Link: https://patch.msgid.link/20240627083627.15312-3-johannes@sipsolutions.net Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
commit
ffb7aa9fed
4
CREDITS
4
CREDITS
@ -1214,6 +1214,10 @@ D: UDF filesystem
|
||||
S: (ask for current address)
|
||||
S: USA
|
||||
|
||||
N: Larry Finger
|
||||
E: Larry.Finger@lwfinger.net
|
||||
D: Maintainer of wireless drivers, too many to list here
|
||||
|
||||
N: Jürgen Fischer
|
||||
E: fischer@norbit.de
|
||||
D: Author of Adaptec AHA-152x SCSI driver
|
||||
|
13
MAINTAINERS
13
MAINTAINERS
@ -3601,10 +3601,9 @@ W: https://wireless.wiki.kernel.org/en/users/Drivers/b43
|
||||
F: drivers/net/wireless/broadcom/b43/
|
||||
|
||||
B43LEGACY WIRELESS DRIVER
|
||||
M: Larry Finger <Larry.Finger@lwfinger.net>
|
||||
L: linux-wireless@vger.kernel.org
|
||||
L: b43-dev@lists.infradead.org
|
||||
S: Maintained
|
||||
S: Orphan
|
||||
W: https://wireless.wiki.kernel.org/en/users/Drivers/b43
|
||||
F: drivers/net/wireless/broadcom/b43legacy/
|
||||
|
||||
@ -18374,7 +18373,7 @@ M: Jeff Johnson <jjohnson@kernel.org>
|
||||
L: ath12k@lists.infradead.org
|
||||
S: Supported
|
||||
W: https://wireless.wiki.kernel.org/en/users/Drivers/ath12k
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/ath/ath.git
|
||||
F: drivers/net/wireless/ath/ath12k/
|
||||
N: ath12k
|
||||
|
||||
@ -18384,7 +18383,7 @@ M: Jeff Johnson <jjohnson@kernel.org>
|
||||
L: ath10k@lists.infradead.org
|
||||
S: Supported
|
||||
W: https://wireless.wiki.kernel.org/en/users/Drivers/ath10k
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/ath/ath.git
|
||||
F: drivers/net/wireless/ath/ath10k/
|
||||
N: ath10k
|
||||
|
||||
@ -18395,7 +18394,7 @@ L: ath11k@lists.infradead.org
|
||||
S: Supported
|
||||
W: https://wireless.wiki.kernel.org/en/users/Drivers/ath11k
|
||||
B: https://wireless.wiki.kernel.org/en/users/Drivers/ath11k/bugreport
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/ath/ath.git
|
||||
F: drivers/net/wireless/ath/ath11k/
|
||||
N: ath11k
|
||||
|
||||
@ -18404,7 +18403,7 @@ M: Toke Høiland-Jørgensen <toke@toke.dk>
|
||||
L: linux-wireless@vger.kernel.org
|
||||
S: Maintained
|
||||
W: https://wireless.wiki.kernel.org/en/users/Drivers/ath9k
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/ath/ath.git
|
||||
F: Documentation/devicetree/bindings/net/wireless/qca,ath9k.yaml
|
||||
F: drivers/net/wireless/ath/ath9k/
|
||||
|
||||
@ -19509,7 +19508,6 @@ F: drivers/net/wireless/realtek/rtl818x/rtl8180/
|
||||
|
||||
RTL8187 WIRELESS DRIVER
|
||||
M: Hin-Tak Leung <hintak.leung@gmail.com>
|
||||
M: Larry Finger <Larry.Finger@lwfinger.net>
|
||||
L: linux-wireless@vger.kernel.org
|
||||
S: Maintained
|
||||
T: git https://github.com/pkshih/rtw.git
|
||||
@ -21247,7 +21245,6 @@ W: http://wiki.laptop.org/go/DCON
|
||||
F: drivers/staging/olpc_dcon/
|
||||
|
||||
STAGING - REALTEK RTL8712U DRIVERS
|
||||
M: Larry Finger <Larry.Finger@lwfinger.net>
|
||||
M: Florian Schilhabel <florian.c.schilhabel@googlemail.com>.
|
||||
S: Odd Fixes
|
||||
F: drivers/staging/rtl8712/
|
||||
|
@ -1566,13 +1566,6 @@ int wl12xx_cmd_add_peer(struct wl1271 *wl, struct wl12xx_vif *wlvif,
|
||||
cpu_to_le32(wl1271_tx_enabled_rates_get(wl, sta_rates,
|
||||
wlvif->band));
|
||||
|
||||
if (!cmd->supported_rates) {
|
||||
wl1271_debug(DEBUG_CMD,
|
||||
"peer has no supported rates yet, configuring basic rates: 0x%x",
|
||||
wlvif->basic_rate_set);
|
||||
cmd->supported_rates = cpu_to_le32(wlvif->basic_rate_set);
|
||||
}
|
||||
|
||||
wl1271_debug(DEBUG_CMD, "new peer rates=0x%x queues=0x%x",
|
||||
cmd->supported_rates, sta->uapsd_queues);
|
||||
|
||||
|
@ -5139,19 +5139,23 @@ static int wl12xx_update_sta_state(struct wl1271 *wl,
|
||||
|
||||
/* Add station (AP mode) */
|
||||
if (is_ap &&
|
||||
old_state == IEEE80211_STA_NOTEXIST &&
|
||||
new_state == IEEE80211_STA_NONE) {
|
||||
old_state == IEEE80211_STA_AUTH &&
|
||||
new_state == IEEE80211_STA_ASSOC) {
|
||||
ret = wl12xx_sta_add(wl, wlvif, sta);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
wl_sta->fw_added = true;
|
||||
|
||||
wlcore_update_inconn_sta(wl, wlvif, wl_sta, true);
|
||||
}
|
||||
|
||||
/* Remove station (AP mode) */
|
||||
if (is_ap &&
|
||||
old_state == IEEE80211_STA_NONE &&
|
||||
new_state == IEEE80211_STA_NOTEXIST) {
|
||||
old_state == IEEE80211_STA_ASSOC &&
|
||||
new_state == IEEE80211_STA_AUTH) {
|
||||
wl_sta->fw_added = false;
|
||||
|
||||
/* must not fail */
|
||||
wl12xx_sta_remove(wl, wlvif, sta);
|
||||
|
||||
@ -5165,11 +5169,6 @@ static int wl12xx_update_sta_state(struct wl1271 *wl,
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
/* reconfigure rates */
|
||||
ret = wl12xx_cmd_add_peer(wl, wlvif, sta, wl_sta->hlid);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
ret = wl1271_acx_set_ht_capabilities(wl, &sta->deflink.ht_cap,
|
||||
true,
|
||||
wl_sta->hlid);
|
||||
|
@ -140,11 +140,8 @@ EXPORT_SYMBOL(wl12xx_is_dummy_packet);
|
||||
static u8 wl12xx_tx_get_hlid_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif,
|
||||
struct sk_buff *skb, struct ieee80211_sta *sta)
|
||||
{
|
||||
if (sta) {
|
||||
struct wl1271_station *wl_sta;
|
||||
|
||||
wl_sta = (struct wl1271_station *)sta->drv_priv;
|
||||
return wl_sta->hlid;
|
||||
if (sta && wl1271_station(sta)->fw_added) {
|
||||
return wl1271_station(sta)->hlid;
|
||||
} else {
|
||||
struct ieee80211_hdr *hdr;
|
||||
|
||||
|
@ -324,6 +324,7 @@ struct wl12xx_rx_filter {
|
||||
|
||||
struct wl1271_station {
|
||||
u8 hlid;
|
||||
bool fw_added;
|
||||
bool in_connection;
|
||||
|
||||
/*
|
||||
@ -335,6 +336,11 @@ struct wl1271_station {
|
||||
u64 total_freed_pkts;
|
||||
};
|
||||
|
||||
static inline struct wl1271_station *wl1271_station(struct ieee80211_sta *sta)
|
||||
{
|
||||
return (struct wl1271_station *)sta->drv_priv;
|
||||
}
|
||||
|
||||
struct wl12xx_vif {
|
||||
struct wl1271 *wl;
|
||||
struct list_head list;
|
||||
|
@ -423,6 +423,7 @@ u64 ieee80211_reset_erp_info(struct ieee80211_sub_if_data *sdata)
|
||||
BSS_CHANGED_ERP_SLOT;
|
||||
}
|
||||
|
||||
/* context: requires softirqs disabled */
|
||||
void ieee80211_handle_queued_frames(struct ieee80211_local *local)
|
||||
{
|
||||
struct sk_buff *skb;
|
||||
|
@ -1567,7 +1567,9 @@ u32 ieee80211_sta_get_rates(struct ieee80211_sub_if_data *sdata,
|
||||
|
||||
void ieee80211_stop_device(struct ieee80211_local *local)
|
||||
{
|
||||
local_bh_disable();
|
||||
ieee80211_handle_queued_frames(local);
|
||||
local_bh_enable();
|
||||
|
||||
ieee80211_led_radio(local, false);
|
||||
ieee80211_mod_tpt_led_trig(local, 0, IEEE80211_TPT_LEDTRIG_FL_RADIO);
|
||||
|
@ -468,6 +468,10 @@ static const struct netlink_range_validation nl80211_punct_bitmap_range = {
|
||||
.max = 0xffff,
|
||||
};
|
||||
|
||||
static const struct netlink_range_validation q_range = {
|
||||
.max = INT_MAX,
|
||||
};
|
||||
|
||||
static const struct nla_policy nl80211_policy[NUM_NL80211_ATTR] = {
|
||||
[0] = { .strict_start_type = NL80211_ATTR_HE_OBSS_PD },
|
||||
[NL80211_ATTR_WIPHY] = { .type = NLA_U32 },
|
||||
@ -754,7 +758,7 @@ static const struct nla_policy nl80211_policy[NUM_NL80211_ATTR] = {
|
||||
|
||||
[NL80211_ATTR_TXQ_LIMIT] = { .type = NLA_U32 },
|
||||
[NL80211_ATTR_TXQ_MEMORY_LIMIT] = { .type = NLA_U32 },
|
||||
[NL80211_ATTR_TXQ_QUANTUM] = { .type = NLA_U32 },
|
||||
[NL80211_ATTR_TXQ_QUANTUM] = NLA_POLICY_FULL_RANGE(NLA_U32, &q_range),
|
||||
[NL80211_ATTR_HE_CAPABILITY] =
|
||||
NLA_POLICY_VALIDATE_FN(NLA_BINARY, validate_he_capa,
|
||||
NL80211_HE_MAX_CAPABILITY_LEN),
|
||||
|
Loading…
Reference in New Issue
Block a user