Skip to content

Commit

Permalink
Merge tag 'wireless-2024-06-27' of git://git.kernel.org/pub/scm/linux…
Browse files Browse the repository at this point in the history
…/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/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
  • Loading branch information
kuba-moo committed Jun 27, 2024
2 parents fd19d4a + c40ff9b commit ffb7aa9
Show file tree
Hide file tree
Showing 9 changed files with 33 additions and 30 deletions.
4 changes: 4 additions & 0 deletions CREDITS
Original file line number Diff line number Diff line change
Expand Up @@ -1214,6 +1214,10 @@ D: UDF filesystem
S: (ask for current address)
S: USA

N: Larry Finger
E: [email protected]
D: Maintainer of wireless drivers, too many to list here

N: Jürgen Fischer
E: [email protected]
D: Author of Adaptec AHA-152x SCSI driver
Expand Down
13 changes: 5 additions & 8 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -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 <[email protected]>
L: [email protected]
L: [email protected]
S: Maintained
S: Orphan
W: https://wireless.wiki.kernel.org/en/users/Drivers/b43
F: drivers/net/wireless/broadcom/b43legacy/

Expand Down Expand Up @@ -18374,7 +18373,7 @@ M: Jeff Johnson <[email protected]>
L: [email protected]
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

Expand All @@ -18384,7 +18383,7 @@ M: Jeff Johnson <[email protected]>
L: [email protected]
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

Expand All @@ -18395,7 +18394,7 @@ L: [email protected]
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

Expand All @@ -18404,7 +18403,7 @@ M: Toke Høiland-Jørgensen <[email protected]>
L: [email protected]
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/

Expand Down Expand Up @@ -19509,7 +19508,6 @@ F: drivers/net/wireless/realtek/rtl818x/rtl8180/

RTL8187 WIRELESS DRIVER
M: Hin-Tak Leung <[email protected]>
M: Larry Finger <[email protected]>
L: [email protected]
S: Maintained
T: git https://github.com/pkshih/rtw.git
Expand Down Expand Up @@ -21247,7 +21245,6 @@ W: http://wiki.laptop.org/go/DCON
F: drivers/staging/olpc_dcon/

STAGING - REALTEK RTL8712U DRIVERS
M: Larry Finger <[email protected]>
M: Florian Schilhabel <[email protected]>.
S: Odd Fixes
F: drivers/staging/rtl8712/
Expand Down
7 changes: 0 additions & 7 deletions drivers/net/wireless/ti/wlcore/cmd.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down
17 changes: 8 additions & 9 deletions drivers/net/wireless/ti/wlcore/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand All @@ -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);
Expand Down
7 changes: 2 additions & 5 deletions drivers/net/wireless/ti/wlcore/tx.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
6 changes: 6 additions & 0 deletions drivers/net/wireless/ti/wlcore/wlcore_i.h
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,7 @@ struct wl12xx_rx_filter {

struct wl1271_station {
u8 hlid;
bool fw_added;
bool in_connection;

/*
Expand All @@ -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;
Expand Down
1 change: 1 addition & 0 deletions net/mac80211/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 2 additions & 0 deletions net/mac80211/util.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
6 changes: 5 additions & 1 deletion net/wireless/nl80211.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 },
Expand Down Expand Up @@ -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),
Expand Down

0 comments on commit ffb7aa9

Please sign in to comment.