Skip to content

Commit 419780e

Browse files
Merge branch 'openwrt:main' into main
2 parents 63066e5 + 2f15374 commit 419780e

15 files changed

Lines changed: 101 additions & 104 deletions

package/kernel/mac80211/patches/rt2x00/602-04-wifi-rt2x00-Support-EEPROM-swap-binding.patch

Lines changed: 0 additions & 44 deletions
This file was deleted.

package/kernel/mac80211/patches/rt2x00/602-05-wifi-rt2x00-support-loading-eeprom-from-NVMEM-cells.patch

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,27 +21,15 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2121

2222
--- a/drivers/net/wireless/ralink/rt2x00/rt2x00eeprom.c
2323
+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00eeprom.c
24-
@@ -15,10 +15,10 @@
24+
@@ -15,6 +15,7 @@
2525
#include <linux/mtd/mtd.h>
2626
#include <linux/mtd/partitions.h>
2727
#endif
2828
+#include <linux/nvmem-consumer.h>
2929

3030
#include "rt2x00.h"
3131

32-
-#if IS_ENABLED(CONFIG_MTD)
33-
static void rt2800lib_eeprom_swap(struct rt2x00_dev *rt2x00dev)
34-
{
35-
struct device_node *np = rt2x00dev->dev->of_node;
36-
@@ -32,6 +32,7 @@ static void rt2800lib_eeprom_swap(struct
37-
rt2x00dev->eeprom[i] = swab16(rt2x00dev->eeprom[i]);
38-
}
39-
40-
+#if IS_ENABLED(CONFIG_MTD)
41-
static int rt2800lib_read_eeprom_mtd(struct rt2x00_dev *rt2x00dev)
42-
{
43-
struct device_node *np = rt2x00dev->dev->of_node, *mtd_np = NULL;
44-
@@ -85,6 +86,40 @@ static int rt2800lib_read_eeprom_mtd(str
32+
@@ -70,6 +71,38 @@ static int rt2800lib_read_eeprom_mtd(str
4533
}
4634
#endif
4735

@@ -72,8 +60,6 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
7260
+
7361
+ memcpy(rt2x00dev->eeprom, data, len);
7462
+
75-
+ rt2800lib_eeprom_swap(rt2x00dev);
76-
+
7763
+exit:
7864
+ kfree(data);
7965
+ return ret;
@@ -82,7 +68,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
8268
static const char *
8369
rt2x00lib_get_eeprom_file_name(struct rt2x00_dev *rt2x00dev)
8470
{
85-
@@ -152,6 +187,10 @@ int rt2x00lib_read_eeprom(struct rt2x00_
71+
@@ -137,6 +170,10 @@ int rt2x00lib_read_eeprom(struct rt2x00_
8672
return 0;
8773
#endif
8874

package/kernel/mac80211/patches/rt2x00/603-wifi-rt2x00-Add-support-for-loading-EEPROM-from-devicetree-embedded-data.patch

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ Signed-off-by: Coia Prant <coiaprant@gmail.com>
3535

3636
--- a/drivers/net/wireless/ralink/rt2x00/rt2x00eeprom.c
3737
+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00eeprom.c
38-
@@ -32,6 +32,27 @@ static void rt2800lib_eeprom_swap(struct
39-
rt2x00dev->eeprom[i] = swab16(rt2x00dev->eeprom[i]);
40-
}
38+
@@ -19,6 +19,27 @@
39+
40+
#include "rt2x00.h"
4141

4242
+static int rt2800lib_read_eeprom_data(struct rt2x00_dev *rt2x00dev)
4343
+{
@@ -63,7 +63,7 @@ Signed-off-by: Coia Prant <coiaprant@gmail.com>
6363
#if IS_ENABLED(CONFIG_MTD)
6464
static int rt2800lib_read_eeprom_mtd(struct rt2x00_dev *rt2x00dev)
6565
{
66-
@@ -181,6 +202,10 @@ int rt2x00lib_read_eeprom(struct rt2x00_
66+
@@ -164,6 +185,10 @@ int rt2x00lib_read_eeprom(struct rt2x00_
6767
{
6868
int ret;
6969

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
From: Felix Fietkau <nbd@nbd.name>
2+
Date: Wed, 18 Mar 2026 20:01:16 +0000
3+
Subject: [PATCH] mac80211: report assoc_link_id in station info for non-MLD
4+
STAs on MLD AP
5+
6+
When a non-MLD station associates with an MLD AP, it does so on a
7+
specific link. However, sta_set_sinfo() never sets mlo_params_valid,
8+
so nl80211 never emits NL80211_ATTR_MLO_LINK_ID in get_station /
9+
dump_station responses. Userspace has no way to determine which link
10+
a non-MLD STA is associated on.
11+
12+
Set mlo_params_valid to 1 and assoc_link_id to sta->deflink.link_id,
13+
when valid_links is set.
14+
Also set the mld_addr copy only for MLD STAs, so that non-MLD STAs
15+
get a zeroed mld_addr as documented.
16+
17+
Signed-off-by: Felix Fietkau <nbd@nbd.name>
18+
---
19+
20+
--- a/net/mac80211/sta_info.c
21+
+++ b/net/mac80211/sta_info.c
22+
@@ -3252,7 +3252,10 @@ void sta_set_sinfo(struct sta_info *sta,
23+
struct link_sta_info *link_sta;
24+
int link_id;
25+
26+
- ether_addr_copy(sinfo->mld_addr, sta->addr);
27+
+ sinfo->mlo_params_valid = true;
28+
+ sinfo->assoc_link_id = sta->deflink.link_id;
29+
+ if (sta->sta.mlo)
30+
+ ether_addr_copy(sinfo->mld_addr, sta->addr);
31+
32+
/* assign valid links first for iteration */
33+
sinfo->valid_links = sta->sta.valid_links;

package/kernel/mt76/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
include $(TOPDIR)/rules.mk
22

33
PKG_NAME:=mt76
4-
PKG_RELEASE=2
4+
PKG_RELEASE=1
55

66
PKG_LICENSE:=BSD-3-Clause-Clear
77
PKG_LICENSE_FILES:=
88

99
PKG_SOURCE_URL:=https://github.com/openwrt/mt76
1010
PKG_SOURCE_PROTO:=git
11-
PKG_SOURCE_DATE:=2026-03-05
12-
PKG_SOURCE_VERSION:=9f95baf93a070692ed922a2fc57ef8bfde801c84
13-
PKG_MIRROR_HASH:=eaca371ec6f8d0f089d098a3f7fc8c5819aea090e05f4f3d9e8a9b2a2d4f2ff8
11+
PKG_SOURCE_DATE:=2026-03-19
12+
PKG_SOURCE_VERSION:=39c960c3ada558b4c2e7915772483d3731573d09
13+
PKG_MIRROR_HASH:=7a9f8ea21eee5324e6638ace627dd305b3650ae6ca86109317d9ee83702140eb
1414

1515
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
1616
PKG_USE_NINJA:=0

package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/hostapd.uc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -354,10 +354,10 @@ function device_htmode_append(config) {
354354
config.vht_capab += '[BF-ANTENNA-' + min(((vht_capab >> 13) & 3) + 1, config.beamformer_antennas) + ']';
355355

356356
/* supported Channel widths */
357-
if (((vht_capab & 0xc) == 4 || (vht_capab & 0xc) == 8) && config.vht160 >= 1)
358-
config.vht_capab += '[VHT160]';
359357
if ((vht_capab & 0xc) == 8 && config.vht160 >= 2)
360358
config.vht_capab += '[VHT160-80PLUS80]';
359+
else if (((vht_capab & 0xc) == 4 || (vht_capab & 0xc) == 8) && config.vht160 >= 1)
360+
config.vht_capab += '[VHT160]';
361361

362362
/* maximum MPDU length */
363363
if ((vht_capab & 3) > 1 && config.vht_max_mpdu >= 11454)

package/network/services/hostapd/src/src/ap/ubus.c

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1212,6 +1212,9 @@ hostapd_rrm_beacon_req(struct ubus_context *ctx, struct ubus_object *obj,
12121212
if (tb[BEACON_REQ_REPORTING_DETAIL])
12131213
reporting_detail = blobmsg_get_u32(tb[BEACON_REQ_REPORTING_DETAIL]);
12141214

1215+
if (reporting_detail >= 0 && reporting_detail < 3)
1216+
buf_len += 3;
1217+
12151218
req = wpabuf_alloc(buf_len);
12161219
if (!req)
12171220
return UBUS_STATUS_UNKNOWN_ERROR;
@@ -1245,7 +1248,7 @@ hostapd_rrm_beacon_req(struct ubus_context *ctx, struct ubus_object *obj,
12451248
/* as per 9-104 */
12461249
wpabuf_put_u8(req, 2);
12471250
wpabuf_put_u8(req, 1);
1248-
wpabuf_put_le16(req, reporting_detail);
1251+
wpabuf_put_u8(req, reporting_detail);
12491252
}
12501253

12511254
ret = hostapd_send_beacon_req(hapd, addr, 0, req);
@@ -2016,6 +2019,7 @@ void hostapd_ubus_notify_beacon_report(
20162019

20172020
blob_buf_init(&b, 0);
20182021
blobmsg_add_macaddr(&b, "address", addr);
2022+
blobmsg_add_u32(&b, "token", token);
20192023
blobmsg_add_u16(&b, "op-class", rep->op_class);
20202024
blobmsg_add_u16(&b, "channel", rep->channel);
20212025
blobmsg_add_u64(&b, "start-time", rep->start_time);
@@ -2025,7 +2029,7 @@ void hostapd_ubus_notify_beacon_report(
20252029
blobmsg_add_u16(&b, "rsni", rep->rsni);
20262030
blobmsg_add_macaddr(&b, "bssid", rep->bssid);
20272031
blobmsg_add_u16(&b, "antenna-id", rep->antenna_id);
2028-
blobmsg_add_u16(&b, "parent-tsf", rep->parent_tsf);
2032+
blobmsg_add_u32(&b, "parent-tsf", rep->parent_tsf);
20292033
blobmsg_add_u16(&b, "rep-mode", rep_mode);
20302034
encoded = base64_encode(rep, len, NULL);
20312035
if (encoded) {
@@ -2090,9 +2094,9 @@ void hostapd_ubus_notify_bss_transition_response(
20902094

20912095
blob_buf_init(&b, 0);
20922096
blobmsg_add_macaddr(&b, "address", addr);
2093-
blobmsg_add_u8(&b, "dialog-token", dialog_token);
2094-
blobmsg_add_u8(&b, "status-code", status_code);
2095-
blobmsg_add_u8(&b, "bss-termination-delay", bss_termination_delay);
2097+
blobmsg_add_u32(&b, "dialog-token", dialog_token);
2098+
blobmsg_add_u32(&b, "status-code", status_code);
2099+
blobmsg_add_u32(&b, "bss-termination-delay", bss_termination_delay);
20962100
if (target_bssid)
20972101
blobmsg_add_macaddr(&b, "target-bssid", target_bssid);
20982102

@@ -2119,8 +2123,8 @@ int hostapd_ubus_notify_bss_transition_query(
21192123

21202124
blob_buf_init(&b, 0);
21212125
blobmsg_add_macaddr(&b, "address", addr);
2122-
blobmsg_add_u8(&b, "dialog-token", dialog_token);
2123-
blobmsg_add_u8(&b, "reason", reason);
2126+
blobmsg_add_u32(&b, "dialog-token", dialog_token);
2127+
blobmsg_add_u32(&b, "reason", reason);
21242128
hostapd_ubus_notify_bss_transition_add_candidate_list(candidate_list, candidate_list_len);
21252129

21262130
if (!hapd->ubus.notify_response) {

target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7506pw11.dts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,10 @@
156156
reg = <0x16 0x6>;
157157
#nvmem-cell-cells = <1>;
158158
};
159+
160+
eeprom_boardconfig_410: eeprom@410 {
161+
reg = <0x410 0x200>;
162+
};
159163
};
160164
};
161165
};
@@ -174,9 +178,7 @@
174178
wifi@e,0 {
175179
compatible = "pci1814,3592";
176180
reg = <0x7000 0 0 0 0>;
177-
ralink,mtd-eeprom = <&boardconfig 0x410>;
178-
ralink,eeprom-swap;
179-
nvmem-cells = <&macaddr_boardconfig_16 1>;
180-
nvmem-cell-names = "mac-address";
181+
nvmem-cells = <&eeprom_boardconfig_410>, <&macaddr_boardconfig_16 1>;
182+
nvmem-cell-names = "eeprom", "mac-address";
181183
};
182184
};

target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7510pw22.dts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,10 @@
162162
macaddr_boardconfig_16: macaddr@16 {
163163
reg = <0x16 0x6>;
164164
};
165+
166+
eeprom_boardconfig_410: eeprom@410 {
167+
reg = <0x410 0x200>;
168+
};
165169
};
166170
};
167171
};
@@ -187,8 +191,8 @@
187191
wifi@e,0 {
188192
compatible = "pci1814,3592";
189193
reg = <0x7000 0 0 0 0>;
190-
ralink,mtd-eeprom = <&boardconfig 0x410>;
191-
ralink,eeprom-swap;
194+
nvmem-cells = <&eeprom_boardconfig_410>;
195+
nvmem-cell-names = "eeprom";
192196
};
193197
};
194198

target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7519pw.dts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,10 @@
194194
reg = <0x16 0x6>;
195195
#nvmem-cell-cells = <1>;
196196
};
197+
198+
eeprom_boardconfig_410: eeprom@410 {
199+
reg = <0x410 0x200>;
200+
};
197201
};
198202
};
199203
};
@@ -211,10 +215,10 @@
211215
req-mask = <0xf>;
212216

213217
wifi@e,0 {
214-
compatible = "pci0,0";
218+
compatible = "pci1814,0601";
215219
reg = <0x7000 0 0 0 0>;
216-
ralink,mtd-eeprom = <&boardconfig 0x410>;
217-
ralink,eeprom-swap;
220+
nvmem-cells = <&eeprom_boardconfig_410>;
221+
nvmem-cell-names = "eeprom";
218222
};
219223
};
220224

0 commit comments

Comments
 (0)