mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-10-29 01:22:25 +00:00
openwrt-21.02: update to latest upstream commit
Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
@@ -1,12 +1,13 @@
|
|||||||
repo: https://github.com/openwrt/openwrt.git
|
repo: https://github.com/openwrt/openwrt.git
|
||||||
branch: openwrt-21.02
|
branch: openwrt-21.02
|
||||||
revision: 378769b5551714ccaa821b481bfeecbf362f351e
|
revision: c67509efd7d0c43eb3f622f06c8a31aa28d22f6e
|
||||||
output_dir: ./output
|
output_dir: ./output
|
||||||
|
|
||||||
patch_folders:
|
patch_folders:
|
||||||
- patches/backports/
|
- patches/backports/
|
||||||
- patches/ath79
|
|
||||||
- patches/base
|
- patches/base
|
||||||
|
- patches/wifi
|
||||||
|
- patches/ath79
|
||||||
- patches/ramips
|
- patches/ramips
|
||||||
- patches/ipq40xx
|
- patches/ipq40xx
|
||||||
- patches/ipq806x
|
- patches/ipq806x
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ define Package/ratelimit
|
|||||||
SECTION:=net
|
SECTION:=net
|
||||||
CATEGORY:=Network
|
CATEGORY:=Network
|
||||||
TITLE:=Wireless ratelimiting
|
TITLE:=Wireless ratelimiting
|
||||||
DEPENDS:=+hostapd-utils +tc +kmod-ifb
|
DEPENDS:=+tc +kmod-ifb
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/ratelimit/description
|
define Package/ratelimit/description
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ PKG_SOURCE_URL=https://git.openwrt.org/project/usteer.git
|
|||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_DATE:=2021-04-19
|
PKG_SOURCE_DATE:=2021-04-19
|
||||||
PKG_SOURCE_VERSION:=ab4d89e7429df19fb7af862213bc5f09ca964948
|
PKG_SOURCE_VERSION:=ab4d89e7429df19fb7af862213bc5f09ca964948
|
||||||
|
PKG_MIRROR_HASH:=84f6143fea887aca896337756d393494a4cfb698f5e48da760c38723ceaca226
|
||||||
|
|
||||||
PKG_BUILD_PARALLEL:=1
|
PKG_BUILD_PARALLEL:=1
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
From b3305eb14bf4daabee1e49eafcb04a856744db99 Mon Sep 17 00:00:00 2001
|
From 9baf9f77dbc5129bd0f8f655e9ccf9fab93cd7e6 Mon Sep 17 00:00:00 2001
|
||||||
From: John Crispin <john@phrozen.org>
|
From: John Crispin <john@phrozen.org>
|
||||||
Date: Sat, 4 Sep 2021 05:42:30 +0200
|
Date: Sat, 4 Sep 2021 05:42:30 +0200
|
||||||
Subject: [PATCH 01/66] realtek: update to latest owrt HEAD
|
Subject: [PATCH 01/88] realtek: update to latest owrt HEAD
|
||||||
|
|
||||||
Signed-off-by: John Crispin <john@phrozen.org>
|
Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
---
|
---
|
||||||
@@ -24,7 +24,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
|||||||
.../files-5.4/drivers/net/dsa/rtl83xx/Kconfig | 2 +-
|
.../files-5.4/drivers/net/dsa/rtl83xx/Kconfig | 2 +-
|
||||||
.../drivers/net/dsa/rtl83xx/Makefile | 2 +-
|
.../drivers/net/dsa/rtl83xx/Makefile | 2 +-
|
||||||
.../drivers/net/dsa/rtl83xx/common.c | 1065 +++++-
|
.../drivers/net/dsa/rtl83xx/common.c | 1065 +++++-
|
||||||
.../drivers/net/dsa/rtl83xx/debugfs.c | 392 ++-
|
.../drivers/net/dsa/rtl83xx/debugfs.c | 392 +-
|
||||||
.../files-5.4/drivers/net/dsa/rtl83xx/dsa.c | 1363 +++++--
|
.../files-5.4/drivers/net/dsa/rtl83xx/dsa.c | 1363 +++++--
|
||||||
.../drivers/net/dsa/rtl83xx/rtl838x.c | 1749 ++++++++-
|
.../drivers/net/dsa/rtl83xx/rtl838x.c | 1749 ++++++++-
|
||||||
.../drivers/net/dsa/rtl83xx/rtl838x.h | 472 ---
|
.../drivers/net/dsa/rtl83xx/rtl838x.h | 472 ---
|
||||||
@@ -39,9 +39,10 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
|||||||
.../realtek/files-5.4/include/linux/rtl838x.h | 1072 ++++++
|
.../realtek/files-5.4/include/linux/rtl838x.h | 1072 ++++++
|
||||||
.../realtek/files-5.4/net/dsa/tag_rtl83xx.c | 119 +
|
.../realtek/files-5.4/net/dsa/tag_rtl83xx.c | 119 +
|
||||||
target/linux/realtek/image/Makefile | 44 +-
|
target/linux/realtek/image/Makefile | 44 +-
|
||||||
.../realtek/patches-5.4/100-dsa-lag.patch | 3123 +++++++++++++++++
|
.../realtek/patches-5.4/100-dsa-lag.patch | 3145 +++++++++++++++++
|
||||||
.../realtek/patches-5.4/101-brflood-api.patch | 817 +++++
|
.../realtek/patches-5.4/101-brflood-api.patch | 817 +++++
|
||||||
...0-gpio-Add-Realtek-Otto-GPIO-support.patch | 405 +++
|
...0-gpio-Add-Realtek-Otto-GPIO-support.patch | 405 +++
|
||||||
|
...net-add-support-for-rtl838x-ethernet.patch | 2 +-
|
||||||
...nclude-linux-add-phy-ops-for-rtl838x.patch | 2 +-
|
...nclude-linux-add-phy-ops-for-rtl838x.patch | 2 +-
|
||||||
...04-include-linux-add-phy-hsgmii-mode.patch | 19 +
|
...04-include-linux-add-phy-hsgmii-mode.patch | 19 +
|
||||||
.../realtek/patches-5.4/706-sysled.patch | 288 ++
|
.../realtek/patches-5.4/706-sysled.patch | 288 ++
|
||||||
@@ -51,7 +52,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
|||||||
.../realtek/patches-5.4/710-adt7470.patch | 20 +
|
.../realtek/patches-5.4/710-adt7470.patch | 20 +
|
||||||
.../realtek/patches-5.4/711-ec4100.patch | 150 +
|
.../realtek/patches-5.4/711-ec4100.patch | 150 +
|
||||||
.../linux/realtek/patches-5.4/712-fixes.patch | 23 +
|
.../linux/realtek/patches-5.4/712-fixes.patch | 23 +
|
||||||
46 files changed, 16263 insertions(+), 1623 deletions(-)
|
47 files changed, 16286 insertions(+), 1624 deletions(-)
|
||||||
delete mode 100644 target/linux/realtek/base-files/lib/preinit/05_set_preinit_iface_realtek
|
delete mode 100644 target/linux/realtek/base-files/lib/preinit/05_set_preinit_iface_realtek
|
||||||
delete mode 100644 target/linux/realtek/base-files/lib/preinit/98_remove_preinit_realtek
|
delete mode 100644 target/linux/realtek/base-files/lib/preinit/98_remove_preinit_realtek
|
||||||
delete mode 100644 target/linux/realtek/dts/rtl8380_zyxel_gs1900-8.dts
|
delete mode 100644 target/linux/realtek/dts/rtl8380_zyxel_gs1900-8.dts
|
||||||
@@ -15346,13 +15347,14 @@ index 18e5fedb9b..a4b2ea892c 100644
|
|||||||
$(eval $(call BuildImage))
|
$(eval $(call BuildImage))
|
||||||
diff --git a/target/linux/realtek/patches-5.4/100-dsa-lag.patch b/target/linux/realtek/patches-5.4/100-dsa-lag.patch
|
diff --git a/target/linux/realtek/patches-5.4/100-dsa-lag.patch b/target/linux/realtek/patches-5.4/100-dsa-lag.patch
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000..3d1992e4cb
|
index 0000000000..5a28760ba9
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/target/linux/realtek/patches-5.4/100-dsa-lag.patch
|
+++ b/target/linux/realtek/patches-5.4/100-dsa-lag.patch
|
||||||
@@ -0,0 +1,3123 @@
|
@@ -0,0 +1,3145 @@
|
||||||
+diff -urpN linux-5.4.137.old/drivers/net/bonding/bond_main.c linux-5.4.137/drivers/net/bonding/bond_main.c
|
+Index: linux-5.4.158/drivers/net/bonding/bond_main.c
|
||||||
+--- linux-5.4.137.old/drivers/net/bonding/bond_main.c 2021-08-04 14:05:38.055697349 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/drivers/net/bonding/bond_main.c 2021-08-04 14:05:53.887713713 +0700
|
+--- linux-5.4.158.orig/drivers/net/bonding/bond_main.c
|
||||||
|
++++ linux-5.4.158/drivers/net/bonding/bond_main.c
|
||||||
+@@ -1753,6 +1753,8 @@ int bond_enslave(struct net_device *bond
|
+@@ -1753,6 +1753,8 @@ int bond_enslave(struct net_device *bond
|
||||||
+ goto err_unregister;
|
+ goto err_unregister;
|
||||||
+ }
|
+ }
|
||||||
@@ -15362,9 +15364,10 @@ index 0000000000..3d1992e4cb
|
|||||||
+ res = bond_sysfs_slave_add(new_slave);
|
+ res = bond_sysfs_slave_add(new_slave);
|
||||||
+ if (res) {
|
+ if (res) {
|
||||||
+ slave_dbg(bond_dev, slave_dev, "Error %d calling bond_sysfs_slave_add\n", res);
|
+ slave_dbg(bond_dev, slave_dev, "Error %d calling bond_sysfs_slave_add\n", res);
|
||||||
+diff -urpN linux-5.4.137.old/drivers/net/dsa/b53/b53_common.c linux-5.4.137/drivers/net/dsa/b53/b53_common.c
|
+Index: linux-5.4.158/drivers/net/dsa/b53/b53_common.c
|
||||||
+--- linux-5.4.137.old/drivers/net/dsa/b53/b53_common.c 2021-08-04 14:05:38.055697349 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/drivers/net/dsa/b53/b53_common.c 2021-08-04 14:05:53.887713713 +0700
|
+--- linux-5.4.158.orig/drivers/net/dsa/b53/b53_common.c
|
||||||
|
++++ linux-5.4.158/drivers/net/dsa/b53/b53_common.c
|
||||||
+@@ -537,7 +537,7 @@ int b53_enable_port(struct dsa_switch *d
|
+@@ -537,7 +537,7 @@ int b53_enable_port(struct dsa_switch *d
|
||||||
+ if (!dsa_is_user_port(ds, port))
|
+ if (!dsa_is_user_port(ds, port))
|
||||||
+ return 0;
|
+ return 0;
|
||||||
@@ -15392,7 +15395,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ unsigned int i;
|
+ unsigned int i;
|
||||||
+ u16 pvlan, reg, pvid;
|
+ u16 pvlan, reg, pvid;
|
||||||
+
|
+
|
||||||
+@@ -2396,10 +2396,13 @@ struct b53_device *b53_switch_alloc(stru
|
+@@ -2395,10 +2395,13 @@ struct b53_device *b53_switch_alloc(stru
|
||||||
+ struct dsa_switch *ds;
|
+ struct dsa_switch *ds;
|
||||||
+ struct b53_device *dev;
|
+ struct b53_device *dev;
|
||||||
+
|
+
|
||||||
@@ -15407,9 +15410,10 @@ index 0000000000..3d1992e4cb
|
|||||||
+ dev = devm_kzalloc(base, sizeof(*dev), GFP_KERNEL);
|
+ dev = devm_kzalloc(base, sizeof(*dev), GFP_KERNEL);
|
||||||
+ if (!dev)
|
+ if (!dev)
|
||||||
+ return NULL;
|
+ return NULL;
|
||||||
+diff -urpN linux-5.4.137.old/drivers/net/dsa/bcm_sf2.c linux-5.4.137/drivers/net/dsa/bcm_sf2.c
|
+Index: linux-5.4.158/drivers/net/dsa/bcm_sf2.c
|
||||||
+--- linux-5.4.137.old/drivers/net/dsa/bcm_sf2.c 2021-08-04 14:05:38.055697349 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/drivers/net/dsa/bcm_sf2.c 2021-08-04 14:05:53.887713713 +0700
|
+--- linux-5.4.158.orig/drivers/net/dsa/bcm_sf2.c
|
||||||
|
++++ linux-5.4.158/drivers/net/dsa/bcm_sf2.c
|
||||||
+@@ -670,7 +670,7 @@ static void bcm_sf2_sw_fixed_state(struc
|
+@@ -670,7 +670,7 @@ static void bcm_sf2_sw_fixed_state(struc
|
||||||
+ * state machine and make it go in PHY_FORCING state instead.
|
+ * state machine and make it go in PHY_FORCING state instead.
|
||||||
+ */
|
+ */
|
||||||
@@ -15440,9 +15444,10 @@ index 0000000000..3d1992e4cb
|
|||||||
+ struct ethtool_wolinfo pwol = { };
|
+ struct ethtool_wolinfo pwol = { };
|
||||||
+
|
+
|
||||||
+ if (p->ethtool_ops->get_wol)
|
+ if (p->ethtool_ops->get_wol)
|
||||||
+diff -urpN linux-5.4.137.old/drivers/net/dsa/bcm_sf2_cfp.c linux-5.4.137/drivers/net/dsa/bcm_sf2_cfp.c
|
+Index: linux-5.4.158/drivers/net/dsa/bcm_sf2_cfp.c
|
||||||
+--- linux-5.4.137.old/drivers/net/dsa/bcm_sf2_cfp.c 2021-08-04 14:05:38.055697349 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/drivers/net/dsa/bcm_sf2_cfp.c 2021-08-04 14:05:53.887713713 +0700
|
+--- linux-5.4.158.orig/drivers/net/dsa/bcm_sf2_cfp.c
|
||||||
|
++++ linux-5.4.158/drivers/net/dsa/bcm_sf2_cfp.c
|
||||||
+@@ -821,7 +821,7 @@ static int bcm_sf2_cfp_rule_insert(struc
|
+@@ -821,7 +821,7 @@ static int bcm_sf2_cfp_rule_insert(struc
|
||||||
+ struct ethtool_rx_flow_spec *fs)
|
+ struct ethtool_rx_flow_spec *fs)
|
||||||
+ {
|
+ {
|
||||||
@@ -15470,9 +15475,10 @@ index 0000000000..3d1992e4cb
|
|||||||
+ struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds);
|
+ struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds);
|
||||||
+ int ret = 0;
|
+ int ret = 0;
|
||||||
+
|
+
|
||||||
+diff -urpN linux-5.4.137.old/drivers/net/dsa/dsa_loop.c linux-5.4.137/drivers/net/dsa/dsa_loop.c
|
+Index: linux-5.4.158/drivers/net/dsa/dsa_loop.c
|
||||||
+--- linux-5.4.137.old/drivers/net/dsa/dsa_loop.c 2021-08-04 14:05:38.055697349 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/drivers/net/dsa/dsa_loop.c 2021-08-04 14:05:53.887713713 +0700
|
+--- linux-5.4.158.orig/drivers/net/dsa/dsa_loop.c
|
||||||
|
++++ linux-5.4.158/drivers/net/dsa/dsa_loop.c
|
||||||
+@@ -286,10 +286,13 @@ static int dsa_loop_drv_probe(struct mdi
|
+@@ -286,10 +286,13 @@ static int dsa_loop_drv_probe(struct mdi
|
||||||
+ dev_info(&mdiodev->dev, "%s: 0x%0x\n",
|
+ dev_info(&mdiodev->dev, "%s: 0x%0x\n",
|
||||||
+ pdata->name, pdata->enabled_ports);
|
+ pdata->name, pdata->enabled_ports);
|
||||||
@@ -15488,10 +15494,11 @@ index 0000000000..3d1992e4cb
|
|||||||
+ ps = devm_kzalloc(&mdiodev->dev, sizeof(*ps), GFP_KERNEL);
|
+ ps = devm_kzalloc(&mdiodev->dev, sizeof(*ps), GFP_KERNEL);
|
||||||
+ if (!ps)
|
+ if (!ps)
|
||||||
+ return -ENOMEM;
|
+ return -ENOMEM;
|
||||||
+diff -urpN linux-5.4.137.old/drivers/net/dsa/lan9303-core.c linux-5.4.137/drivers/net/dsa/lan9303-core.c
|
+Index: linux-5.4.158/drivers/net/dsa/lan9303-core.c
|
||||||
+--- linux-5.4.137.old/drivers/net/dsa/lan9303-core.c 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/drivers/net/dsa/lan9303-core.c 2021-08-04 14:05:53.887713713 +0700
|
+--- linux-5.4.158.orig/drivers/net/dsa/lan9303-core.c
|
||||||
+@@ -1283,10 +1283,12 @@ static int lan9303_register_switch(struc
|
++++ linux-5.4.158/drivers/net/dsa/lan9303-core.c
|
||||||
|
+@@ -1287,10 +1287,12 @@ static int lan9303_register_switch(struc
|
||||||
+ {
|
+ {
|
||||||
+ int base;
|
+ int base;
|
||||||
+
|
+
|
||||||
@@ -15505,10 +15512,11 @@ index 0000000000..3d1992e4cb
|
|||||||
+ chip->ds->priv = chip;
|
+ chip->ds->priv = chip;
|
||||||
+ chip->ds->ops = &lan9303_switch_ops;
|
+ chip->ds->ops = &lan9303_switch_ops;
|
||||||
+ base = chip->phy_addr_base;
|
+ base = chip->phy_addr_base;
|
||||||
+diff -urpN linux-5.4.137.old/drivers/net/dsa/lantiq_gswip.c linux-5.4.137/drivers/net/dsa/lantiq_gswip.c
|
+Index: linux-5.4.158/drivers/net/dsa/lantiq_gswip.c
|
||||||
+--- linux-5.4.137.old/drivers/net/dsa/lantiq_gswip.c 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/drivers/net/dsa/lantiq_gswip.c 2021-08-04 14:05:53.887713713 +0700
|
+--- linux-5.4.158.orig/drivers/net/dsa/lantiq_gswip.c
|
||||||
+@@ -2006,10 +2006,12 @@ static int gswip_probe(struct platform_d
|
++++ linux-5.4.158/drivers/net/dsa/lantiq_gswip.c
|
||||||
|
+@@ -2013,10 +2013,12 @@ static int gswip_probe(struct platform_d
|
||||||
+ if (!priv->hw_info)
|
+ if (!priv->hw_info)
|
||||||
+ return -EINVAL;
|
+ return -EINVAL;
|
||||||
+
|
+
|
||||||
@@ -15522,9 +15530,10 @@ index 0000000000..3d1992e4cb
|
|||||||
+ priv->ds->priv = priv;
|
+ priv->ds->priv = priv;
|
||||||
+ priv->ds->ops = &gswip_switch_ops;
|
+ priv->ds->ops = &gswip_switch_ops;
|
||||||
+ priv->dev = dev;
|
+ priv->dev = dev;
|
||||||
+diff -urpN linux-5.4.137.old/drivers/net/dsa/microchip/ksz_common.c linux-5.4.137/drivers/net/dsa/microchip/ksz_common.c
|
+Index: linux-5.4.158/drivers/net/dsa/microchip/ksz_common.c
|
||||||
+--- linux-5.4.137.old/drivers/net/dsa/microchip/ksz_common.c 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/drivers/net/dsa/microchip/ksz_common.c 2021-08-04 14:05:53.891713717 +0700
|
+--- linux-5.4.158.orig/drivers/net/dsa/microchip/ksz_common.c
|
||||||
|
++++ linux-5.4.158/drivers/net/dsa/microchip/ksz_common.c
|
||||||
+@@ -396,10 +396,13 @@ struct ksz_device *ksz_switch_alloc(stru
|
+@@ -396,10 +396,13 @@ struct ksz_device *ksz_switch_alloc(stru
|
||||||
+ struct dsa_switch *ds;
|
+ struct dsa_switch *ds;
|
||||||
+ struct ksz_device *swdev;
|
+ struct ksz_device *swdev;
|
||||||
@@ -15540,10 +15549,11 @@ index 0000000000..3d1992e4cb
|
|||||||
+ swdev = devm_kzalloc(base, sizeof(*swdev), GFP_KERNEL);
|
+ swdev = devm_kzalloc(base, sizeof(*swdev), GFP_KERNEL);
|
||||||
+ if (!swdev)
|
+ if (!swdev)
|
||||||
+ return NULL;
|
+ return NULL;
|
||||||
+diff -urpN linux-5.4.137.old/drivers/net/dsa/mt7530.c linux-5.4.137/drivers/net/dsa/mt7530.c
|
+Index: linux-5.4.158/drivers/net/dsa/mt7530.c
|
||||||
+--- linux-5.4.137.old/drivers/net/dsa/mt7530.c 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/drivers/net/dsa/mt7530.c 2021-08-04 14:05:53.891713717 +0700
|
+--- linux-5.4.158.orig/drivers/net/dsa/mt7530.c
|
||||||
+@@ -785,7 +785,7 @@ mt7530_port_set_vlan_unaware(struct dsa_
|
++++ linux-5.4.158/drivers/net/dsa/mt7530.c
|
||||||
|
+@@ -786,7 +786,7 @@ mt7530_port_set_vlan_unaware(struct dsa_
|
||||||
+
|
+
|
||||||
+ for (i = 0; i < MT7530_NUM_PORTS; i++) {
|
+ for (i = 0; i < MT7530_NUM_PORTS; i++) {
|
||||||
+ if (dsa_is_user_port(ds, i) &&
|
+ if (dsa_is_user_port(ds, i) &&
|
||||||
@@ -15552,16 +15562,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ all_user_ports_removed = false;
|
+ all_user_ports_removed = false;
|
||||||
+ break;
|
+ break;
|
||||||
+ }
|
+ }
|
||||||
+@@ -843,7 +843,7 @@ mt7530_port_bridge_leave(struct dsa_swit
|
+@@ -1217,7 +1217,7 @@ mt7530_setup(struct dsa_switch *ds)
|
||||||
+ * other port is still a VLAN-aware port.
|
|
||||||
+ */
|
|
||||||
+ if (dsa_is_user_port(ds, i) && i != port &&
|
|
||||||
+- !dsa_port_is_vlan_filtering(&ds->ports[i])) {
|
|
||||||
++ !dsa_port_is_vlan_filtering(dsa_to_port(ds, i))) {
|
|
||||||
+ if (dsa_to_port(ds, i)->bridge_dev != bridge)
|
|
||||||
+ continue;
|
|
||||||
+ if (priv->ports[i].enable)
|
|
||||||
+@@ -1219,7 +1219,7 @@ mt7530_setup(struct dsa_switch *ds)
|
|
||||||
+ * controller also is the container for two GMACs nodes representing
|
+ * controller also is the container for two GMACs nodes representing
|
||||||
+ * as two netdev instances.
|
+ * as two netdev instances.
|
||||||
+ */
|
+ */
|
||||||
@@ -15570,7 +15571,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ ds->configure_vlan_while_not_filtering = true;
|
+ ds->configure_vlan_while_not_filtering = true;
|
||||||
+
|
+
|
||||||
+ if (priv->id == ID_MT7530) {
|
+ if (priv->id == ID_MT7530) {
|
||||||
+@@ -1306,7 +1306,7 @@ mt7530_setup(struct dsa_switch *ds)
|
+@@ -1304,7 +1304,7 @@ mt7530_setup(struct dsa_switch *ds)
|
||||||
+
|
+
|
||||||
+ if (!dsa_is_unused_port(ds, 5)) {
|
+ if (!dsa_is_unused_port(ds, 5)) {
|
||||||
+ priv->p5_intf_sel = P5_INTF_SEL_GMAC5;
|
+ priv->p5_intf_sel = P5_INTF_SEL_GMAC5;
|
||||||
@@ -15579,7 +15580,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ } else {
|
+ } else {
|
||||||
+ /* Scan the ethernet nodes. look for GMAC1, lookup used phy */
|
+ /* Scan the ethernet nodes. look for GMAC1, lookup used phy */
|
||||||
+ for_each_child_of_node(dn, mac_np) {
|
+ for_each_child_of_node(dn, mac_np) {
|
||||||
+@@ -1649,10 +1649,13 @@ mt7530_probe(struct mdio_device *mdiodev
|
+@@ -1647,10 +1647,13 @@ mt7530_probe(struct mdio_device *mdiodev
|
||||||
+ if (!priv)
|
+ if (!priv)
|
||||||
+ return -ENOMEM;
|
+ return -ENOMEM;
|
||||||
+
|
+
|
||||||
@@ -15594,9 +15595,10 @@ index 0000000000..3d1992e4cb
|
|||||||
+ /* Use medatek,mcm property to distinguish hardware type that would
|
+ /* Use medatek,mcm property to distinguish hardware type that would
|
||||||
+ * casues a little bit differences on power-on sequence.
|
+ * casues a little bit differences on power-on sequence.
|
||||||
+ */
|
+ */
|
||||||
+diff -urpN linux-5.4.137.old/drivers/net/dsa/mv88e6060.c linux-5.4.137/drivers/net/dsa/mv88e6060.c
|
+Index: linux-5.4.158/drivers/net/dsa/mv88e6060.c
|
||||||
+--- linux-5.4.137.old/drivers/net/dsa/mv88e6060.c 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/drivers/net/dsa/mv88e6060.c 2021-08-04 14:05:53.891713717 +0700
|
+--- linux-5.4.158.orig/drivers/net/dsa/mv88e6060.c
|
||||||
|
++++ linux-5.4.158/drivers/net/dsa/mv88e6060.c
|
||||||
+@@ -270,10 +270,12 @@ static int mv88e6060_probe(struct mdio_d
|
+@@ -270,10 +270,12 @@ static int mv88e6060_probe(struct mdio_d
|
||||||
+
|
+
|
||||||
+ dev_info(dev, "switch %s detected\n", name);
|
+ dev_info(dev, "switch %s detected\n", name);
|
||||||
@@ -15611,9 +15613,10 @@ index 0000000000..3d1992e4cb
|
|||||||
+ ds->priv = priv;
|
+ ds->priv = priv;
|
||||||
+ ds->dev = dev;
|
+ ds->dev = dev;
|
||||||
+ ds->ops = &mv88e6060_switch_ops;
|
+ ds->ops = &mv88e6060_switch_ops;
|
||||||
+diff -urpN linux-5.4.137.old/drivers/net/dsa/mv88e6xxx/chip.c linux-5.4.137/drivers/net/dsa/mv88e6xxx/chip.c
|
+Index: linux-5.4.158/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
+--- linux-5.4.137.old/drivers/net/dsa/mv88e6xxx/chip.c 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/drivers/net/dsa/mv88e6xxx/chip.c 2021-08-04 14:05:57.643717592 +0700
|
+--- linux-5.4.158.orig/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
|
++++ linux-5.4.158/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
+@@ -1075,7 +1075,7 @@ static u16 mv88e6xxx_port_vlan(struct mv
|
+@@ -1075,7 +1075,7 @@ static u16 mv88e6xxx_port_vlan(struct mv
|
||||||
+ if (dsa_is_cpu_port(ds, port) || dsa_is_dsa_port(ds, port))
|
+ if (dsa_is_cpu_port(ds, port) || dsa_is_dsa_port(ds, port))
|
||||||
+ return mv88e6xxx_port_mask(chip);
|
+ return mv88e6xxx_port_mask(chip);
|
||||||
@@ -16025,9 +16028,10 @@ index 0000000000..3d1992e4cb
|
|||||||
+ dev_set_drvdata(dev, ds);
|
+ dev_set_drvdata(dev, ds);
|
||||||
+
|
+
|
||||||
+ return dsa_register_switch(ds);
|
+ return dsa_register_switch(ds);
|
||||||
+diff -urpN linux-5.4.137.old/drivers/net/dsa/mv88e6xxx/global2.c linux-5.4.137/drivers/net/dsa/mv88e6xxx/global2.c
|
+Index: linux-5.4.158/drivers/net/dsa/mv88e6xxx/global2.c
|
||||||
+--- linux-5.4.137.old/drivers/net/dsa/mv88e6xxx/global2.c 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/drivers/net/dsa/mv88e6xxx/global2.c 2021-08-04 14:05:53.891713717 +0700
|
+--- linux-5.4.158.orig/drivers/net/dsa/mv88e6xxx/global2.c
|
||||||
|
++++ linux-5.4.158/drivers/net/dsa/mv88e6xxx/global2.c
|
||||||
+@@ -126,8 +126,8 @@ int mv88e6xxx_g2_device_mapping_write(st
|
+@@ -126,8 +126,8 @@ int mv88e6xxx_g2_device_mapping_write(st
|
||||||
+
|
+
|
||||||
+ /* Offset 0x07: Trunk Mask Table register */
|
+ /* Offset 0x07: Trunk Mask Table register */
|
||||||
@@ -16050,9 +16054,10 @@ index 0000000000..3d1992e4cb
|
|||||||
+ {
|
+ {
|
||||||
+ const u16 port_mask = BIT(mv88e6xxx_num_ports(chip)) - 1;
|
+ const u16 port_mask = BIT(mv88e6xxx_num_ports(chip)) - 1;
|
||||||
+ u16 val = (id << 11) | (map & port_mask);
|
+ u16 val = (id << 11) | (map & port_mask);
|
||||||
+diff -urpN linux-5.4.137.old/drivers/net/dsa/mv88e6xxx/global2.h linux-5.4.137/drivers/net/dsa/mv88e6xxx/global2.h
|
+Index: linux-5.4.158/drivers/net/dsa/mv88e6xxx/global2.h
|
||||||
+--- linux-5.4.137.old/drivers/net/dsa/mv88e6xxx/global2.h 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/drivers/net/dsa/mv88e6xxx/global2.h 2021-08-04 14:05:53.891713717 +0700
|
+--- linux-5.4.158.orig/drivers/net/dsa/mv88e6xxx/global2.h
|
||||||
|
++++ linux-5.4.158/drivers/net/dsa/mv88e6xxx/global2.h
|
||||||
+@@ -101,6 +101,7 @@
|
+@@ -101,6 +101,7 @@
|
||||||
+ #define MV88E6XXX_G2_PVT_ADDR_OP_WRITE_PVLAN 0x3000
|
+ #define MV88E6XXX_G2_PVT_ADDR_OP_WRITE_PVLAN 0x3000
|
||||||
+ #define MV88E6XXX_G2_PVT_ADDR_OP_READ 0x4000
|
+ #define MV88E6XXX_G2_PVT_ADDR_OP_READ 0x4000
|
||||||
@@ -16072,9 +16077,10 @@ index 0000000000..3d1992e4cb
|
|||||||
+ int mv88e6xxx_g2_trunk_clear(struct mv88e6xxx_chip *chip);
|
+ int mv88e6xxx_g2_trunk_clear(struct mv88e6xxx_chip *chip);
|
||||||
+
|
+
|
||||||
+ int mv88e6xxx_g2_device_mapping_write(struct mv88e6xxx_chip *chip, int target,
|
+ int mv88e6xxx_g2_device_mapping_write(struct mv88e6xxx_chip *chip, int target,
|
||||||
+diff -urpN linux-5.4.137.old/drivers/net/dsa/mv88e6xxx/port.c linux-5.4.137/drivers/net/dsa/mv88e6xxx/port.c
|
+Index: linux-5.4.158/drivers/net/dsa/mv88e6xxx/port.c
|
||||||
+--- linux-5.4.137.old/drivers/net/dsa/mv88e6xxx/port.c 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/drivers/net/dsa/mv88e6xxx/port.c 2021-08-04 14:05:53.891713717 +0700
|
+--- linux-5.4.158.orig/drivers/net/dsa/mv88e6xxx/port.c
|
||||||
|
++++ linux-5.4.158/drivers/net/dsa/mv88e6xxx/port.c
|
||||||
+@@ -994,6 +994,27 @@ int mv88e6xxx_port_set_message_port(stru
|
+@@ -994,6 +994,27 @@ int mv88e6xxx_port_set_message_port(stru
|
||||||
+ return mv88e6xxx_port_write(chip, port, MV88E6XXX_PORT_CTL1, val);
|
+ return mv88e6xxx_port_write(chip, port, MV88E6XXX_PORT_CTL1, val);
|
||||||
+ }
|
+ }
|
||||||
@@ -16103,9 +16109,10 @@ index 0000000000..3d1992e4cb
|
|||||||
+ /* Offset 0x06: Port Based VLAN Map */
|
+ /* Offset 0x06: Port Based VLAN Map */
|
||||||
+
|
+
|
||||||
+ int mv88e6xxx_port_set_vlan_map(struct mv88e6xxx_chip *chip, int port, u16 map)
|
+ int mv88e6xxx_port_set_vlan_map(struct mv88e6xxx_chip *chip, int port, u16 map)
|
||||||
+diff -urpN linux-5.4.137.old/drivers/net/dsa/mv88e6xxx/port.h linux-5.4.137/drivers/net/dsa/mv88e6xxx/port.h
|
+Index: linux-5.4.158/drivers/net/dsa/mv88e6xxx/port.h
|
||||||
+--- linux-5.4.137.old/drivers/net/dsa/mv88e6xxx/port.h 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/drivers/net/dsa/mv88e6xxx/port.h 2021-08-04 14:05:53.891713717 +0700
|
+--- linux-5.4.158.orig/drivers/net/dsa/mv88e6xxx/port.h
|
||||||
|
++++ linux-5.4.158/drivers/net/dsa/mv88e6xxx/port.h
|
||||||
+@@ -168,6 +168,9 @@
|
+@@ -168,6 +168,9 @@
|
||||||
+ /* Offset 0x05: Port Control 1 */
|
+ /* Offset 0x05: Port Control 1 */
|
||||||
+ #define MV88E6XXX_PORT_CTL1 0x05
|
+ #define MV88E6XXX_PORT_CTL1 0x05
|
||||||
@@ -16125,9 +16132,10 @@ index 0000000000..3d1992e4cb
|
|||||||
+ int mv88e6165_port_set_jumbo_size(struct mv88e6xxx_chip *chip, int port,
|
+ int mv88e6165_port_set_jumbo_size(struct mv88e6xxx_chip *chip, int port,
|
||||||
+ size_t size);
|
+ size_t size);
|
||||||
+ int mv88e6095_port_egress_rate_limiting(struct mv88e6xxx_chip *chip, int port);
|
+ int mv88e6095_port_egress_rate_limiting(struct mv88e6xxx_chip *chip, int port);
|
||||||
+diff -urpN linux-5.4.137.old/drivers/net/dsa/qca8k.c linux-5.4.137/drivers/net/dsa/qca8k.c
|
+Index: linux-5.4.158/drivers/net/dsa/qca8k.c
|
||||||
+--- linux-5.4.137.old/drivers/net/dsa/qca8k.c 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/drivers/net/dsa/qca8k.c 2021-08-04 14:05:53.891713717 +0700
|
+--- linux-5.4.158.orig/drivers/net/dsa/qca8k.c
|
||||||
|
++++ linux-5.4.158/drivers/net/dsa/qca8k.c
|
||||||
+@@ -661,7 +661,7 @@ qca8k_setup(struct dsa_switch *ds)
|
+@@ -661,7 +661,7 @@ qca8k_setup(struct dsa_switch *ds)
|
||||||
+ return ret;
|
+ return ret;
|
||||||
+
|
+
|
||||||
@@ -16152,9 +16160,10 @@ index 0000000000..3d1992e4cb
|
|||||||
+ priv->ds->priv = priv;
|
+ priv->ds->priv = priv;
|
||||||
+ priv->ops = qca8k_switch_ops;
|
+ priv->ops = qca8k_switch_ops;
|
||||||
+ priv->ds->ops = &priv->ops;
|
+ priv->ds->ops = &priv->ops;
|
||||||
+diff -urpN linux-5.4.137.old/drivers/net/dsa/realtek-smi-core.c linux-5.4.137/drivers/net/dsa/realtek-smi-core.c
|
+Index: linux-5.4.158/drivers/net/dsa/realtek-smi-core.c
|
||||||
+--- linux-5.4.137.old/drivers/net/dsa/realtek-smi-core.c 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/drivers/net/dsa/realtek-smi-core.c 2021-08-04 14:05:53.891713717 +0700
|
+--- linux-5.4.158.orig/drivers/net/dsa/realtek-smi-core.c
|
||||||
|
++++ linux-5.4.158/drivers/net/dsa/realtek-smi-core.c
|
||||||
+@@ -444,9 +444,12 @@ static int realtek_smi_probe(struct plat
|
+@@ -444,9 +444,12 @@ static int realtek_smi_probe(struct plat
|
||||||
+ return ret;
|
+ return ret;
|
||||||
+ }
|
+ }
|
||||||
@@ -16169,10 +16178,11 @@ index 0000000000..3d1992e4cb
|
|||||||
+ smi->ds->priv = smi;
|
+ smi->ds->priv = smi;
|
||||||
+
|
+
|
||||||
+ smi->ds->ops = var->ds_ops;
|
+ smi->ds->ops = var->ds_ops;
|
||||||
+diff -urpN linux-5.4.137.old/drivers/net/dsa/sja1105/sja1105_main.c linux-5.4.137/drivers/net/dsa/sja1105/sja1105_main.c
|
+Index: linux-5.4.158/drivers/net/dsa/sja1105/sja1105_main.c
|
||||||
+--- linux-5.4.137.old/drivers/net/dsa/sja1105/sja1105_main.c 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/drivers/net/dsa/sja1105/sja1105_main.c 2021-08-04 14:05:53.891713717 +0700
|
+--- linux-5.4.158.orig/drivers/net/dsa/sja1105/sja1105_main.c
|
||||||
+@@ -1096,7 +1096,7 @@ int sja1105pqrs_fdb_add(struct dsa_switc
|
++++ linux-5.4.158/drivers/net/dsa/sja1105/sja1105_main.c
|
||||||
|
+@@ -1121,7 +1121,7 @@ int sja1105pqrs_fdb_add(struct dsa_switc
|
||||||
+ l2_lookup.vlanid = vid;
|
+ l2_lookup.vlanid = vid;
|
||||||
+ l2_lookup.iotag = SJA1105_S_TAG;
|
+ l2_lookup.iotag = SJA1105_S_TAG;
|
||||||
+ l2_lookup.mask_macaddr = GENMASK_ULL(ETH_ALEN * 8 - 1, 0);
|
+ l2_lookup.mask_macaddr = GENMASK_ULL(ETH_ALEN * 8 - 1, 0);
|
||||||
@@ -16181,7 +16191,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ l2_lookup.mask_vlanid = VLAN_VID_MASK;
|
+ l2_lookup.mask_vlanid = VLAN_VID_MASK;
|
||||||
+ l2_lookup.mask_iotag = BIT(0);
|
+ l2_lookup.mask_iotag = BIT(0);
|
||||||
+ } else {
|
+ } else {
|
||||||
+@@ -1159,7 +1159,7 @@ int sja1105pqrs_fdb_del(struct dsa_switc
|
+@@ -1214,7 +1214,7 @@ int sja1105pqrs_fdb_del(struct dsa_switc
|
||||||
+ l2_lookup.vlanid = vid;
|
+ l2_lookup.vlanid = vid;
|
||||||
+ l2_lookup.iotag = SJA1105_S_TAG;
|
+ l2_lookup.iotag = SJA1105_S_TAG;
|
||||||
+ l2_lookup.mask_macaddr = GENMASK_ULL(ETH_ALEN * 8 - 1, 0);
|
+ l2_lookup.mask_macaddr = GENMASK_ULL(ETH_ALEN * 8 - 1, 0);
|
||||||
@@ -16190,7 +16200,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ l2_lookup.mask_vlanid = VLAN_VID_MASK;
|
+ l2_lookup.mask_vlanid = VLAN_VID_MASK;
|
||||||
+ l2_lookup.mask_iotag = BIT(0);
|
+ l2_lookup.mask_iotag = BIT(0);
|
||||||
+ } else {
|
+ } else {
|
||||||
+@@ -1205,7 +1205,7 @@ static int sja1105_fdb_add(struct dsa_sw
|
+@@ -1260,7 +1260,7 @@ static int sja1105_fdb_add(struct dsa_sw
|
||||||
+ * for what gets printed in 'bridge fdb show'. In the case of zero,
|
+ * for what gets printed in 'bridge fdb show'. In the case of zero,
|
||||||
+ * no VID gets printed at all.
|
+ * no VID gets printed at all.
|
||||||
+ */
|
+ */
|
||||||
@@ -16199,7 +16209,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ vid = 0;
|
+ vid = 0;
|
||||||
+
|
+
|
||||||
+ return priv->info->fdb_add_cmd(ds, port, addr, vid);
|
+ return priv->info->fdb_add_cmd(ds, port, addr, vid);
|
||||||
+@@ -1216,7 +1216,7 @@ static int sja1105_fdb_del(struct dsa_sw
|
+@@ -1271,7 +1271,7 @@ static int sja1105_fdb_del(struct dsa_sw
|
||||||
+ {
|
+ {
|
||||||
+ struct sja1105_private *priv = ds->priv;
|
+ struct sja1105_private *priv = ds->priv;
|
||||||
+
|
+
|
||||||
@@ -16208,16 +16218,16 @@ index 0000000000..3d1992e4cb
|
|||||||
+ vid = 0;
|
+ vid = 0;
|
||||||
+
|
+
|
||||||
+ return priv->info->fdb_del_cmd(ds, port, addr, vid);
|
+ return priv->info->fdb_del_cmd(ds, port, addr, vid);
|
||||||
+@@ -1255,7 +1255,7 @@ static int sja1105_fdb_dump(struct dsa_s
|
+@@ -1310,7 +1310,7 @@ static int sja1105_fdb_dump(struct dsa_s
|
||||||
+ u64_to_ether_addr(l2_lookup.macaddr, macaddr);
|
+ u64_to_ether_addr(l2_lookup.macaddr, macaddr);
|
||||||
+
|
+
|
||||||
+ /* We need to hide the dsa_8021q VLANs from the user. */
|
+ /* We need to hide the dsa_8021q VLANs from the user. */
|
||||||
+- if (!dsa_port_is_vlan_filtering(&ds->ports[port]))
|
+- if (!dsa_port_is_vlan_filtering(&ds->ports[port]))
|
||||||
++ if (!dsa_port_is_vlan_filtering(dsa_to_port(ds, port)))
|
++ if (!dsa_port_is_vlan_filtering(dsa_to_port(ds, port)))
|
||||||
+ l2_lookup.vlanid = 0;
|
+ l2_lookup.vlanid = 0;
|
||||||
+ cb(macaddr, l2_lookup.vlanid, l2_lookup.lockeds, data);
|
+ rc = cb(macaddr, l2_lookup.vlanid, l2_lookup.lockeds, data);
|
||||||
+ }
|
+ if (rc)
|
||||||
+@@ -1748,7 +1748,7 @@ static int sja1105_port_enable(struct ds
|
+@@ -1805,7 +1805,7 @@ static int sja1105_port_enable(struct ds
|
||||||
+ if (!dsa_is_user_port(ds, port))
|
+ if (!dsa_is_user_port(ds, port))
|
||||||
+ return 0;
|
+ return 0;
|
||||||
+
|
+
|
||||||
@@ -16226,7 +16236,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+
|
+
|
||||||
+ slave->features &= ~NETIF_F_HW_VLAN_CTAG_FILTER;
|
+ slave->features &= ~NETIF_F_HW_VLAN_CTAG_FILTER;
|
||||||
+
|
+
|
||||||
+@@ -1780,7 +1780,7 @@ static int sja1105_mgmt_xmit(struct dsa_
|
+@@ -1837,7 +1837,7 @@ static int sja1105_mgmt_xmit(struct dsa_
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ /* Transfer skb to the host port. */
|
+ /* Transfer skb to the host port. */
|
||||||
@@ -16235,7 +16245,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+
|
+
|
||||||
+ /* Wait until the switch has processed the frame */
|
+ /* Wait until the switch has processed the frame */
|
||||||
+ do {
|
+ do {
|
||||||
+@@ -2198,10 +2198,12 @@ static int sja1105_probe(struct spi_devi
|
+@@ -2255,10 +2255,12 @@ static int sja1105_probe(struct spi_devi
|
||||||
+
|
+
|
||||||
+ dev_info(dev, "Probed switch chip: %s\n", priv->info->name);
|
+ dev_info(dev, "Probed switch chip: %s\n", priv->info->name);
|
||||||
+
|
+
|
||||||
@@ -16249,7 +16259,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ ds->ops = &sja1105_switch_ops;
|
+ ds->ops = &sja1105_switch_ops;
|
||||||
+ ds->priv = priv;
|
+ ds->priv = priv;
|
||||||
+ priv->ds = ds;
|
+ priv->ds = ds;
|
||||||
+@@ -2215,8 +2217,8 @@ static int sja1105_probe(struct spi_devi
|
+@@ -2272,8 +2274,8 @@ static int sja1105_probe(struct spi_devi
|
||||||
+ for (i = 0; i < SJA1105_NUM_PORTS; i++) {
|
+ for (i = 0; i < SJA1105_NUM_PORTS; i++) {
|
||||||
+ struct sja1105_port *sp = &priv->ports[i];
|
+ struct sja1105_port *sp = &priv->ports[i];
|
||||||
+
|
+
|
||||||
@@ -16260,9 +16270,10 @@ index 0000000000..3d1992e4cb
|
|||||||
+ sp->data = tagger_data;
|
+ sp->data = tagger_data;
|
||||||
+ }
|
+ }
|
||||||
+ mutex_init(&priv->mgmt_lock);
|
+ mutex_init(&priv->mgmt_lock);
|
||||||
+diff -urpN linux-5.4.137.old/drivers/net/dsa/vitesse-vsc73xx-core.c linux-5.4.137/drivers/net/dsa/vitesse-vsc73xx-core.c
|
+Index: linux-5.4.158/drivers/net/dsa/vitesse-vsc73xx-core.c
|
||||||
+--- linux-5.4.137.old/drivers/net/dsa/vitesse-vsc73xx-core.c 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/drivers/net/dsa/vitesse-vsc73xx-core.c 2021-08-04 14:05:53.891713717 +0700
|
+--- linux-5.4.158.orig/drivers/net/dsa/vitesse-vsc73xx-core.c
|
||||||
|
++++ linux-5.4.158/drivers/net/dsa/vitesse-vsc73xx-core.c
|
||||||
+@@ -1178,9 +1178,12 @@ int vsc73xx_probe(struct vsc73xx *vsc)
|
+@@ -1178,9 +1178,12 @@ int vsc73xx_probe(struct vsc73xx *vsc)
|
||||||
+ * We allocate 8 ports and avoid access to the nonexistant
|
+ * We allocate 8 ports and avoid access to the nonexistant
|
||||||
+ * ports.
|
+ * ports.
|
||||||
@@ -16277,9 +16288,10 @@ index 0000000000..3d1992e4cb
|
|||||||
+ vsc->ds->priv = vsc;
|
+ vsc->ds->priv = vsc;
|
||||||
+
|
+
|
||||||
+ vsc->ds->ops = &vsc73xx_ds_ops;
|
+ vsc->ds->ops = &vsc73xx_ds_ops;
|
||||||
+diff -urpN linux-5.4.137.old/include/net/dsa.h linux-5.4.137/include/net/dsa.h
|
+Index: linux-5.4.158/include/net/dsa.h
|
||||||
+--- linux-5.4.137.old/include/net/dsa.h 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/include/net/dsa.h 2021-08-04 14:05:57.643717592 +0700
|
+--- linux-5.4.158.orig/include/net/dsa.h
|
||||||
|
++++ linux-5.4.158/include/net/dsa.h
|
||||||
+@@ -124,17 +124,46 @@ struct dsa_switch_tree {
|
+@@ -124,17 +124,46 @@ struct dsa_switch_tree {
|
||||||
+ */
|
+ */
|
||||||
+ struct dsa_platform_data *pd;
|
+ struct dsa_platform_data *pd;
|
||||||
@@ -16508,9 +16520,10 @@ index 0000000000..3d1992e4cb
|
|||||||
+ #endif
|
+ #endif
|
||||||
+
|
+
|
||||||
+ /* Broadcom tag specific helpers to insert and extract queue/port number */
|
+ /* Broadcom tag specific helpers to insert and extract queue/port number */
|
||||||
+diff -urpN linux-5.4.137.old/net/dsa/Kconfig linux-5.4.137/net/dsa/Kconfig
|
+Index: linux-5.4.158/net/dsa/Kconfig
|
||||||
+--- linux-5.4.137.old/net/dsa/Kconfig 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/net/dsa/Kconfig 2021-08-04 14:05:53.891713717 +0700
|
+--- linux-5.4.158.orig/net/dsa/Kconfig
|
||||||
|
++++ linux-5.4.158/net/dsa/Kconfig
|
||||||
+@@ -56,14 +56,19 @@ config NET_DSA_TAG_GSWIP
|
+@@ -56,14 +56,19 @@ config NET_DSA_TAG_GSWIP
|
||||||
+ Say Y or M if you want to enable support for tagging frames for the
|
+ Say Y or M if you want to enable support for tagging frames for the
|
||||||
+ Lantiq / Intel GSWIP switches.
|
+ Lantiq / Intel GSWIP switches.
|
||||||
@@ -16531,9 +16544,10 @@ index 0000000000..3d1992e4cb
|
|||||||
+ help
|
+ help
|
||||||
+ Say Y or M if you want to enable support for tagging frames for the
|
+ Say Y or M if you want to enable support for tagging frames for the
|
||||||
+ Marvell switches which use EtherType DSA headers.
|
+ Marvell switches which use EtherType DSA headers.
|
||||||
+diff -urpN linux-5.4.137.old/net/dsa/Makefile linux-5.4.137/net/dsa/Makefile
|
+Index: linux-5.4.158/net/dsa/Makefile
|
||||||
+--- linux-5.4.137.old/net/dsa/Makefile 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/net/dsa/Makefile 2021-08-04 14:05:53.891713717 +0700
|
+--- linux-5.4.158.orig/net/dsa/Makefile
|
||||||
|
++++ linux-5.4.158/net/dsa/Makefile
|
||||||
+@@ -6,8 +6,7 @@ dsa_core-y += dsa.o dsa2.o master.o port
|
+@@ -6,8 +6,7 @@ dsa_core-y += dsa.o dsa2.o master.o port
|
||||||
+ # tagging formats
|
+ # tagging formats
|
||||||
+ obj-$(CONFIG_NET_DSA_TAG_8021Q) += tag_8021q.o
|
+ obj-$(CONFIG_NET_DSA_TAG_8021Q) += tag_8021q.o
|
||||||
@@ -16544,9 +16558,10 @@ index 0000000000..3d1992e4cb
|
|||||||
+ obj-$(CONFIG_NET_DSA_TAG_GSWIP) += tag_gswip.o
|
+ obj-$(CONFIG_NET_DSA_TAG_GSWIP) += tag_gswip.o
|
||||||
+ obj-$(CONFIG_NET_DSA_TAG_KSZ) += tag_ksz.o
|
+ obj-$(CONFIG_NET_DSA_TAG_KSZ) += tag_ksz.o
|
||||||
+ obj-$(CONFIG_NET_DSA_TAG_RTL4_A) += tag_rtl4_a.o
|
+ obj-$(CONFIG_NET_DSA_TAG_RTL4_A) += tag_rtl4_a.o
|
||||||
+diff -urpN linux-5.4.137.old/net/dsa/dsa.c linux-5.4.137/net/dsa/dsa.c
|
+Index: linux-5.4.158/net/dsa/dsa.c
|
||||||
+--- linux-5.4.137.old/net/dsa/dsa.c 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/net/dsa/dsa.c 2021-08-04 14:05:53.891713717 +0700
|
+--- linux-5.4.158.orig/net/dsa/dsa.c
|
||||||
|
++++ linux-5.4.158/net/dsa/dsa.c
|
||||||
+@@ -224,11 +224,21 @@ static int dsa_switch_rcv(struct sk_buff
|
+@@ -224,11 +224,21 @@ static int dsa_switch_rcv(struct sk_buff
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
@@ -16599,10 +16614,11 @@ index 0000000000..3d1992e4cb
|
|||||||
+ if (ret)
|
+ if (ret)
|
||||||
+ return ret;
|
+ return ret;
|
||||||
+ }
|
+ }
|
||||||
+diff -urpN linux-5.4.137.old/net/dsa/dsa2.c linux-5.4.137/net/dsa/dsa2.c
|
+Index: linux-5.4.158/net/dsa/dsa2.c
|
||||||
+--- linux-5.4.137.old/net/dsa/dsa2.c 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/net/dsa/dsa2.c 2021-08-04 14:05:57.643717592 +0700
|
+--- linux-5.4.158.orig/net/dsa/dsa2.c
|
||||||
+@@ -25,6 +25,65 @@ static DEFINE_MUTEX(dsa2_mutex);
|
++++ linux-5.4.158/net/dsa/dsa2.c
|
||||||
|
+@@ -24,6 +24,65 @@ static DEFINE_MUTEX(dsa2_mutex);
|
||||||
+ static const struct devlink_ops dsa_devlink_ops = {
|
+ static const struct devlink_ops dsa_devlink_ops = {
|
||||||
+ };
|
+ };
|
||||||
+
|
+
|
||||||
@@ -16668,7 +16684,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ static struct dsa_switch_tree *dsa_tree_find(int index)
|
+ static struct dsa_switch_tree *dsa_tree_find(int index)
|
||||||
+ {
|
+ {
|
||||||
+ struct dsa_switch_tree *dst;
|
+ struct dsa_switch_tree *dst;
|
||||||
+@@ -46,6 +105,10 @@ static struct dsa_switch_tree *dsa_tree_
|
+@@ -45,6 +104,10 @@ static struct dsa_switch_tree *dsa_tree_
|
||||||
+
|
+
|
||||||
+ dst->index = index;
|
+ dst->index = index;
|
||||||
+
|
+
|
||||||
@@ -16679,7 +16695,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ INIT_LIST_HEAD(&dst->list);
|
+ INIT_LIST_HEAD(&dst->list);
|
||||||
+ list_add_tail(&dst->list, &dsa_tree_list);
|
+ list_add_tail(&dst->list, &dsa_tree_list);
|
||||||
+
|
+
|
||||||
+@@ -112,24 +175,38 @@ static bool dsa_port_is_user(struct dsa_
|
+@@ -111,24 +174,38 @@ static bool dsa_port_is_user(struct dsa_
|
||||||
+ static struct dsa_port *dsa_tree_find_port_by_node(struct dsa_switch_tree *dst,
|
+ static struct dsa_port *dsa_tree_find_port_by_node(struct dsa_switch_tree *dst,
|
||||||
+ struct device_node *dn)
|
+ struct device_node *dn)
|
||||||
+ {
|
+ {
|
||||||
@@ -16731,7 +16747,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ static bool dsa_port_setup_routing_table(struct dsa_port *dp)
|
+ static bool dsa_port_setup_routing_table(struct dsa_port *dp)
|
||||||
+@@ -139,6 +216,7 @@ static bool dsa_port_setup_routing_table
|
+@@ -138,6 +215,7 @@ static bool dsa_port_setup_routing_table
|
||||||
+ struct device_node *dn = dp->dn;
|
+ struct device_node *dn = dp->dn;
|
||||||
+ struct of_phandle_iterator it;
|
+ struct of_phandle_iterator it;
|
||||||
+ struct dsa_port *link_dp;
|
+ struct dsa_port *link_dp;
|
||||||
@@ -16739,7 +16755,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ int err;
|
+ int err;
|
||||||
+
|
+
|
||||||
+ of_for_each_phandle(&it, err, dn, "link", NULL, 0) {
|
+ of_for_each_phandle(&it, err, dn, "link", NULL, 0) {
|
||||||
+@@ -148,24 +226,22 @@ static bool dsa_port_setup_routing_table
|
+@@ -147,24 +225,22 @@ static bool dsa_port_setup_routing_table
|
||||||
+ return false;
|
+ return false;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
@@ -16771,7 +16787,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ if (dsa_port_is_dsa(dp)) {
|
+ if (dsa_port_is_dsa(dp)) {
|
||||||
+ complete = dsa_port_setup_routing_table(dp);
|
+ complete = dsa_port_setup_routing_table(dp);
|
||||||
+ if (!complete)
|
+ if (!complete)
|
||||||
+@@ -176,81 +252,42 @@ static bool dsa_switch_setup_routing_tab
|
+@@ -175,81 +251,42 @@ static bool dsa_switch_setup_routing_tab
|
||||||
+ return complete;
|
+ return complete;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
@@ -16868,7 +16884,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ static int dsa_port_setup(struct dsa_port *dp)
|
+ static int dsa_port_setup(struct dsa_port *dp)
|
||||||
+@@ -266,6 +303,9 @@ static int dsa_port_setup(struct dsa_por
|
+@@ -265,6 +302,9 @@ static int dsa_port_setup(struct dsa_por
|
||||||
+ bool dsa_port_enabled = false;
|
+ bool dsa_port_enabled = false;
|
||||||
+ int err = 0;
|
+ int err = 0;
|
||||||
+
|
+
|
||||||
@@ -16878,7 +16894,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ switch (dp->type) {
|
+ switch (dp->type) {
|
||||||
+ case DSA_PORT_TYPE_UNUSED:
|
+ case DSA_PORT_TYPE_UNUSED:
|
||||||
+ dsa_port_disable(dp);
|
+ dsa_port_disable(dp);
|
||||||
+@@ -335,14 +375,21 @@ static int dsa_port_setup(struct dsa_por
|
+@@ -333,14 +373,21 @@ static int dsa_port_setup(struct dsa_por
|
||||||
+ dsa_port_link_unregister_of(dp);
|
+ dsa_port_link_unregister_of(dp);
|
||||||
+ if (err && devlink_port_registered)
|
+ if (err && devlink_port_registered)
|
||||||
+ devlink_port_unregister(dlp);
|
+ devlink_port_unregister(dlp);
|
||||||
@@ -16901,7 +16917,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ switch (dp->type) {
|
+ switch (dp->type) {
|
||||||
+ case DSA_PORT_TYPE_UNUSED:
|
+ case DSA_PORT_TYPE_UNUSED:
|
||||||
+ break;
|
+ break;
|
||||||
+@@ -365,11 +412,16 @@ static void dsa_port_teardown(struct dsa
|
+@@ -363,11 +410,16 @@ static void dsa_port_teardown(struct dsa
|
||||||
+ }
|
+ }
|
||||||
+ break;
|
+ break;
|
||||||
+ }
|
+ }
|
||||||
@@ -16919,7 +16935,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+
|
+
|
||||||
+ /* Initialize ds->phys_mii_mask before registering the slave MDIO bus
|
+ /* Initialize ds->phys_mii_mask before registering the slave MDIO bus
|
||||||
+ * driver and before ops->setup() has run, since the switch drivers and
|
+ * driver and before ops->setup() has run, since the switch drivers and
|
||||||
+@@ -411,6 +463,8 @@ static int dsa_switch_setup(struct dsa_s
|
+@@ -409,6 +461,8 @@ static int dsa_switch_setup(struct dsa_s
|
||||||
+ goto teardown;
|
+ goto teardown;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
@@ -16928,7 +16944,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ return 0;
|
+ return 0;
|
||||||
+
|
+
|
||||||
+ teardown:
|
+ teardown:
|
||||||
+@@ -429,6 +483,9 @@ free_devlink:
|
+@@ -427,6 +481,9 @@ free_devlink:
|
||||||
+
|
+
|
||||||
+ static void dsa_switch_teardown(struct dsa_switch *ds)
|
+ static void dsa_switch_teardown(struct dsa_switch *ds)
|
||||||
+ {
|
+ {
|
||||||
@@ -16938,7 +16954,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ if (ds->slave_mii_bus && ds->ops->phy_read)
|
+ if (ds->slave_mii_bus && ds->ops->phy_read)
|
||||||
+ mdiobus_unregister(ds->slave_mii_bus);
|
+ mdiobus_unregister(ds->slave_mii_bus);
|
||||||
+
|
+
|
||||||
+@@ -443,89 +500,98 @@ static void dsa_switch_teardown(struct d
|
+@@ -441,89 +498,98 @@ static void dsa_switch_teardown(struct d
|
||||||
+ ds->devlink = NULL;
|
+ ds->devlink = NULL;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
@@ -17089,7 +17105,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ static int dsa_tree_setup(struct dsa_switch_tree *dst)
|
+ static int dsa_tree_setup(struct dsa_switch_tree *dst)
|
||||||
+@@ -555,12 +621,18 @@ static int dsa_tree_setup(struct dsa_swi
|
+@@ -553,12 +619,18 @@ static int dsa_tree_setup(struct dsa_swi
|
||||||
+ if (err)
|
+ if (err)
|
||||||
+ goto teardown_switches;
|
+ goto teardown_switches;
|
||||||
+
|
+
|
||||||
@@ -17108,7 +17124,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ teardown_switches:
|
+ teardown_switches:
|
||||||
+ dsa_tree_teardown_switches(dst);
|
+ dsa_tree_teardown_switches(dst);
|
||||||
+ teardown_default_cpu:
|
+ teardown_default_cpu:
|
||||||
+@@ -571,48 +643,49 @@ teardown_default_cpu:
|
+@@ -569,48 +641,49 @@ teardown_default_cpu:
|
||||||
+
|
+
|
||||||
+ static void dsa_tree_teardown(struct dsa_switch_tree *dst)
|
+ static void dsa_tree_teardown(struct dsa_switch_tree *dst)
|
||||||
+ {
|
+ {
|
||||||
@@ -17180,7 +17196,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ static int dsa_port_parse_user(struct dsa_port *dp, const char *name)
|
+ static int dsa_port_parse_user(struct dsa_port *dp, const char *name)
|
||||||
+@@ -707,7 +780,7 @@ static int dsa_switch_parse_ports_of(str
|
+@@ -705,7 +778,7 @@ static int dsa_switch_parse_ports_of(str
|
||||||
+ goto out_put_node;
|
+ goto out_put_node;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
@@ -17189,7 +17205,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+
|
+
|
||||||
+ err = dsa_port_parse_of(dp, port);
|
+ err = dsa_port_parse_of(dp, port);
|
||||||
+ if (err)
|
+ if (err)
|
||||||
+@@ -731,8 +804,6 @@ static int dsa_switch_parse_member_of(st
|
+@@ -729,8 +802,6 @@ static int dsa_switch_parse_member_of(st
|
||||||
+ return sz;
|
+ return sz;
|
||||||
+
|
+
|
||||||
+ ds->index = m[1];
|
+ ds->index = m[1];
|
||||||
@@ -17198,7 +17214,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+
|
+
|
||||||
+ ds->dst = dsa_tree_touch(m[0]);
|
+ ds->dst = dsa_tree_touch(m[0]);
|
||||||
+ if (!ds->dst)
|
+ if (!ds->dst)
|
||||||
+@@ -741,6 +812,20 @@ static int dsa_switch_parse_member_of(st
|
+@@ -739,6 +810,20 @@ static int dsa_switch_parse_member_of(st
|
||||||
+ return 0;
|
+ return 0;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
@@ -17219,7 +17235,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ static int dsa_switch_parse_of(struct dsa_switch *ds, struct device_node *dn)
|
+ static int dsa_switch_parse_of(struct dsa_switch *ds, struct device_node *dn)
|
||||||
+ {
|
+ {
|
||||||
+ int err;
|
+ int err;
|
||||||
+@@ -749,6 +834,10 @@ static int dsa_switch_parse_of(struct ds
|
+@@ -747,6 +832,10 @@ static int dsa_switch_parse_of(struct ds
|
||||||
+ if (err)
|
+ if (err)
|
||||||
+ return err;
|
+ return err;
|
||||||
+
|
+
|
||||||
@@ -17230,7 +17246,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ return dsa_switch_parse_ports_of(ds, dn);
|
+ return dsa_switch_parse_ports_of(ds, dn);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+@@ -786,7 +875,7 @@ static int dsa_switch_parse_ports(struct
|
+@@ -784,7 +873,7 @@ static int dsa_switch_parse_ports(struct
|
||||||
+ for (i = 0; i < DSA_MAX_PORTS; i++) {
|
+ for (i = 0; i < DSA_MAX_PORTS; i++) {
|
||||||
+ name = cd->port_names[i];
|
+ name = cd->port_names[i];
|
||||||
+ dev = cd->netdev[i];
|
+ dev = cd->netdev[i];
|
||||||
@@ -17239,7 +17255,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+
|
+
|
||||||
+ if (!name)
|
+ if (!name)
|
||||||
+ continue;
|
+ continue;
|
||||||
+@@ -806,6 +895,8 @@ static int dsa_switch_parse_ports(struct
|
+@@ -804,6 +893,8 @@ static int dsa_switch_parse_ports(struct
|
||||||
+
|
+
|
||||||
+ static int dsa_switch_parse(struct dsa_switch *ds, struct dsa_chip_data *cd)
|
+ static int dsa_switch_parse(struct dsa_switch *ds, struct dsa_chip_data *cd)
|
||||||
+ {
|
+ {
|
||||||
@@ -17248,7 +17264,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ ds->cd = cd;
|
+ ds->cd = cd;
|
||||||
+
|
+
|
||||||
+ /* We don't support interconnected switches nor multiple trees via
|
+ /* We don't support interconnected switches nor multiple trees via
|
||||||
+@@ -816,22 +907,26 @@ static int dsa_switch_parse(struct dsa_s
|
+@@ -814,22 +905,26 @@ static int dsa_switch_parse(struct dsa_s
|
||||||
+ if (!ds->dst)
|
+ if (!ds->dst)
|
||||||
+ return -ENOMEM;
|
+ return -ENOMEM;
|
||||||
+
|
+
|
||||||
@@ -17282,7 +17298,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ if (np)
|
+ if (np)
|
||||||
+ err = dsa_switch_parse_of(ds, np);
|
+ err = dsa_switch_parse_of(ds, np);
|
||||||
+ else if (pdata)
|
+ else if (pdata)
|
||||||
+@@ -842,29 +937,14 @@ static int dsa_switch_probe(struct dsa_s
|
+@@ -840,29 +935,14 @@ static int dsa_switch_probe(struct dsa_s
|
||||||
+ if (err)
|
+ if (err)
|
||||||
+ return err;
|
+ return err;
|
||||||
+
|
+
|
||||||
@@ -17318,7 +17334,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+
|
+
|
||||||
+ int dsa_register_switch(struct dsa_switch *ds)
|
+ int dsa_register_switch(struct dsa_switch *ds)
|
||||||
+ {
|
+ {
|
||||||
+@@ -882,9 +962,15 @@ EXPORT_SYMBOL_GPL(dsa_register_switch);
|
+@@ -880,9 +960,15 @@ EXPORT_SYMBOL_GPL(dsa_register_switch);
|
||||||
+ static void dsa_switch_remove(struct dsa_switch *ds)
|
+ static void dsa_switch_remove(struct dsa_switch *ds)
|
||||||
+ {
|
+ {
|
||||||
+ struct dsa_switch_tree *dst = ds->dst;
|
+ struct dsa_switch_tree *dst = ds->dst;
|
||||||
@@ -17336,9 +17352,10 @@ index 0000000000..3d1992e4cb
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ void dsa_unregister_switch(struct dsa_switch *ds)
|
+ void dsa_unregister_switch(struct dsa_switch *ds)
|
||||||
+diff -urpN linux-5.4.137.old/net/dsa/dsa_priv.h linux-5.4.137/net/dsa/dsa_priv.h
|
+Index: linux-5.4.158/net/dsa/dsa_priv.h
|
||||||
+--- linux-5.4.137.old/net/dsa/dsa_priv.h 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/net/dsa/dsa_priv.h 2021-08-04 14:05:53.891713717 +0700
|
+--- linux-5.4.158.orig/net/dsa/dsa_priv.h
|
||||||
|
++++ linux-5.4.158/net/dsa/dsa_priv.h
|
||||||
+@@ -19,6 +19,9 @@ enum {
|
+@@ -19,6 +19,9 @@ enum {
|
||||||
+ DSA_NOTIFIER_BRIDGE_LEAVE,
|
+ DSA_NOTIFIER_BRIDGE_LEAVE,
|
||||||
+ DSA_NOTIFIER_FDB_ADD,
|
+ DSA_NOTIFIER_FDB_ADD,
|
||||||
@@ -17442,9 +17459,10 @@ index 0000000000..3d1992e4cb
|
|||||||
++void dsa_lag_unmap(struct dsa_switch_tree *dst, struct net_device *lag);
|
++void dsa_lag_unmap(struct dsa_switch_tree *dst, struct net_device *lag);
|
||||||
++
|
++
|
||||||
+ #endif
|
+ #endif
|
||||||
+diff -urpN linux-5.4.137.old/net/dsa/port.c linux-5.4.137/net/dsa/port.c
|
+Index: linux-5.4.158/net/dsa/port.c
|
||||||
+--- linux-5.4.137.old/net/dsa/port.c 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/net/dsa/port.c 2021-08-04 14:05:53.891713717 +0700
|
+--- linux-5.4.158.orig/net/dsa/port.c
|
||||||
|
++++ linux-5.4.158/net/dsa/port.c
|
||||||
+@@ -174,6 +174,85 @@ void dsa_port_bridge_leave(struct dsa_po
|
+@@ -174,6 +174,85 @@ void dsa_port_bridge_leave(struct dsa_po
|
||||||
+ dsa_port_set_state_now(dp, BR_STATE_FORWARDING);
|
+ dsa_port_set_state_now(dp, BR_STATE_FORWARDING);
|
||||||
+ }
|
+ }
|
||||||
@@ -17531,9 +17549,10 @@ index 0000000000..3d1992e4cb
|
|||||||
+ static bool dsa_port_can_apply_vlan_filtering(struct dsa_port *dp,
|
+ static bool dsa_port_can_apply_vlan_filtering(struct dsa_port *dp,
|
||||||
+ bool vlan_filtering)
|
+ bool vlan_filtering)
|
||||||
+ {
|
+ {
|
||||||
+diff -urpN linux-5.4.137.old/net/dsa/slave.c linux-5.4.137/net/dsa/slave.c
|
+Index: linux-5.4.158/net/dsa/slave.c
|
||||||
+--- linux-5.4.137.old/net/dsa/slave.c 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/net/dsa/slave.c 2021-08-04 14:05:53.891713717 +0700
|
+--- linux-5.4.158.orig/net/dsa/slave.c
|
||||||
|
++++ linux-5.4.158/net/dsa/slave.c
|
||||||
+@@ -26,8 +26,6 @@
|
+@@ -26,8 +26,6 @@
|
||||||
+
|
+
|
||||||
+ #include "dsa_priv.h"
|
+ #include "dsa_priv.h"
|
||||||
@@ -17589,7 +17608,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ return -EOPNOTSUPP;
|
+ return -EOPNOTSUPP;
|
||||||
+ err = dsa_port_mdb_del(dp, SWITCHDEV_OBJ_PORT_MDB(obj));
|
+ err = dsa_port_mdb_del(dp, SWITCHDEV_OBJ_PORT_MDB(obj));
|
||||||
+ break;
|
+ break;
|
||||||
+@@ -1527,10 +1528,11 @@ void dsa_slave_destroy(struct net_device
|
+@@ -1525,10 +1526,11 @@ void dsa_slave_destroy(struct net_device
|
||||||
+ free_netdev(slave_dev);
|
+ free_netdev(slave_dev);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
@@ -17602,7 +17621,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+
|
+
|
||||||
+ static int dsa_slave_changeupper(struct net_device *dev,
|
+ static int dsa_slave_changeupper(struct net_device *dev,
|
||||||
+ struct netdev_notifier_changeupper_info *info)
|
+ struct netdev_notifier_changeupper_info *info)
|
||||||
+@@ -1546,6 +1548,46 @@ static int dsa_slave_changeupper(struct
|
+@@ -1544,6 +1546,46 @@ static int dsa_slave_changeupper(struct
|
||||||
+ dsa_port_bridge_leave(dp, info->upper_dev);
|
+ dsa_port_bridge_leave(dp, info->upper_dev);
|
||||||
+ err = NOTIFY_OK;
|
+ err = NOTIFY_OK;
|
||||||
+ }
|
+ }
|
||||||
@@ -17649,7 +17668,7 @@ index 0000000000..3d1992e4cb
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ return err;
|
+ return err;
|
||||||
+@@ -1588,11 +1630,33 @@ static int dsa_slave_netdevice_event(str
|
+@@ -1586,11 +1628,33 @@ static int dsa_slave_netdevice_event(str
|
||||||
+ {
|
+ {
|
||||||
+ struct net_device *dev = netdev_notifier_info_to_dev(ptr);
|
+ struct net_device *dev = netdev_notifier_info_to_dev(ptr);
|
||||||
+
|
+
|
||||||
@@ -17685,9 +17704,10 @@ index 0000000000..3d1992e4cb
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ return NOTIFY_DONE;
|
+ return NOTIFY_DONE;
|
||||||
+diff -urpN linux-5.4.137.old/net/dsa/switch.c linux-5.4.137/net/dsa/switch.c
|
+Index: linux-5.4.158/net/dsa/switch.c
|
||||||
+--- linux-5.4.137.old/net/dsa/switch.c 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/net/dsa/switch.c 2021-08-04 14:05:53.891713717 +0700
|
+--- linux-5.4.158.orig/net/dsa/switch.c
|
||||||
|
++++ linux-5.4.158/net/dsa/switch.c
|
||||||
+@@ -20,7 +20,7 @@ static unsigned int dsa_switch_fastest_a
|
+@@ -20,7 +20,7 @@ static unsigned int dsa_switch_fastest_a
|
||||||
+ int i;
|
+ int i;
|
||||||
+
|
+
|
||||||
@@ -17770,9 +17790,10 @@ index 0000000000..3d1992e4cb
|
|||||||
+ case DSA_NOTIFIER_MDB_ADD:
|
+ case DSA_NOTIFIER_MDB_ADD:
|
||||||
+ err = dsa_switch_mdb_add(ds, info);
|
+ err = dsa_switch_mdb_add(ds, info);
|
||||||
+ break;
|
+ break;
|
||||||
+diff -urpN linux-5.4.137.old/net/dsa/tag_8021q.c linux-5.4.137/net/dsa/tag_8021q.c
|
+Index: linux-5.4.158/net/dsa/tag_8021q.c
|
||||||
+--- linux-5.4.137.old/net/dsa/tag_8021q.c 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/net/dsa/tag_8021q.c 2021-08-04 14:05:57.643717592 +0700
|
+--- linux-5.4.158.orig/net/dsa/tag_8021q.c
|
||||||
|
++++ linux-5.4.158/net/dsa/tag_8021q.c
|
||||||
+@@ -31,15 +31,14 @@
|
+@@ -31,15 +31,14 @@
|
||||||
+ * Must be transmitted as zero and ignored on receive.
|
+ * Must be transmitted as zero and ignored on receive.
|
||||||
+ *
|
+ *
|
||||||
@@ -17818,9 +17839,10 @@ index 0000000000..3d1992e4cb
|
|||||||
+ struct bridge_vlan_info vinfo;
|
+ struct bridge_vlan_info vinfo;
|
||||||
+ int err;
|
+ int err;
|
||||||
+
|
+
|
||||||
+diff -urpN linux-5.4.137.old/net/dsa/tag_dsa.c linux-5.4.137/net/dsa/tag_dsa.c
|
+Index: linux-5.4.158/net/dsa/tag_dsa.c
|
||||||
+--- linux-5.4.137.old/net/dsa/tag_dsa.c 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/net/dsa/tag_dsa.c 2021-08-04 14:05:53.891713717 +0700
|
+--- linux-5.4.158.orig/net/dsa/tag_dsa.c
|
||||||
|
++++ linux-5.4.158/net/dsa/tag_dsa.c
|
||||||
+@@ -1,7 +1,48 @@
|
+@@ -1,7 +1,48 @@
|
||||||
+ // SPDX-License-Identifier: GPL-2.0+
|
+ // SPDX-License-Identifier: GPL-2.0+
|
||||||
+ /*
|
+ /*
|
||||||
@@ -18254,9 +18276,10 @@ index 0000000000..3d1992e4cb
|
|||||||
++module_dsa_tag_drivers(dsa_tag_drivers);
|
++module_dsa_tag_drivers(dsa_tag_drivers);
|
||||||
++
|
++
|
||||||
++MODULE_LICENSE("GPL");
|
++MODULE_LICENSE("GPL");
|
||||||
+diff -urpN linux-5.4.137.old/net/dsa/tag_edsa.c linux-5.4.137/net/dsa/tag_edsa.c
|
+Index: linux-5.4.158/net/dsa/tag_edsa.c
|
||||||
+--- linux-5.4.137.old/net/dsa/tag_edsa.c 2021-08-04 14:05:38.059697353 +0700
|
+===================================================================
|
||||||
++++ linux-5.4.137/net/dsa/tag_edsa.c 1970-01-01 07:00:00.000000000 +0700
|
+--- linux-5.4.158.orig/net/dsa/tag_edsa.c
|
||||||
|
++++ /dev/null
|
||||||
+@@ -1,215 +0,0 @@
|
+@@ -1,215 +0,0 @@
|
||||||
+-// SPDX-License-Identifier: GPL-2.0+
|
+-// SPDX-License-Identifier: GPL-2.0+
|
||||||
+-/*
|
+-/*
|
||||||
@@ -19707,6 +19730,18 @@ index 0000000000..8b43f07e8a
|
|||||||
++MODULE_DESCRIPTION("Realtek Otto GPIO support");
|
++MODULE_DESCRIPTION("Realtek Otto GPIO support");
|
||||||
++MODULE_AUTHOR("Sander Vanheule <sander@svanheule.net>");
|
++MODULE_AUTHOR("Sander Vanheule <sander@svanheule.net>");
|
||||||
++MODULE_LICENSE("GPL v2");
|
++MODULE_LICENSE("GPL v2");
|
||||||
|
diff --git a/target/linux/realtek/patches-5.4/702-net-ethernet-add-support-for-rtl838x-ethernet.patch b/target/linux/realtek/patches-5.4/702-net-ethernet-add-support-for-rtl838x-ethernet.patch
|
||||||
|
index 952384ac89..11e62450d5 100644
|
||||||
|
--- a/target/linux/realtek/patches-5.4/702-net-ethernet-add-support-for-rtl838x-ethernet.patch
|
||||||
|
+++ b/target/linux/realtek/patches-5.4/702-net-ethernet-add-support-for-rtl838x-ethernet.patch
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
--- a/drivers/net/ethernet/Kconfig
|
||||||
|
+++ b/drivers/net/ethernet/Kconfig
|
||||||
|
-@@ -164,6 +164,13 @@ source "drivers/net/ethernet/rdc/Kconfig
|
||||||
|
+@@ -163,6 +163,13 @@ source "drivers/net/ethernet/rdc/Kconfig
|
||||||
|
source "drivers/net/ethernet/realtek/Kconfig"
|
||||||
|
source "drivers/net/ethernet/renesas/Kconfig"
|
||||||
|
source "drivers/net/ethernet/rocker/Kconfig"
|
||||||
diff --git a/target/linux/realtek/patches-5.4/703-include-linux-add-phy-ops-for-rtl838x.patch b/target/linux/realtek/patches-5.4/703-include-linux-add-phy-ops-for-rtl838x.patch
|
diff --git a/target/linux/realtek/patches-5.4/703-include-linux-add-phy-ops-for-rtl838x.patch b/target/linux/realtek/patches-5.4/703-include-linux-add-phy-ops-for-rtl838x.patch
|
||||||
index 03accd1e07..3682eb30a3 100644
|
index 03accd1e07..3682eb30a3 100644
|
||||||
--- a/target/linux/realtek/patches-5.4/703-include-linux-add-phy-ops-for-rtl838x.patch
|
--- a/target/linux/realtek/patches-5.4/703-include-linux-add-phy-ops-for-rtl838x.patch
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
From 4ed9b7d04405d5109681643f3ceebbd25f3f28e2 Mon Sep 17 00:00:00 2001
|
From d28712edcc0e57b5c0e5d79125a5517ced252e18 Mon Sep 17 00:00:00 2001
|
||||||
From: John Crispin <john@phrozen.org>
|
From: John Crispin <john@phrozen.org>
|
||||||
Date: Wed, 7 Apr 2021 10:46:26 +0200
|
Date: Wed, 7 Apr 2021 10:46:26 +0200
|
||||||
Subject: [PATCH 09/27] include: set kernel-version.mk
|
Subject: [PATCH] include: set kernel-version.mk
|
||||||
|
|
||||||
Signed-off-by: John Crispin <john@phrozen.org>
|
Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
---
|
---
|
||||||
@@ -9,7 +9,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
|||||||
1 file changed, 6 insertions(+)
|
1 file changed, 6 insertions(+)
|
||||||
|
|
||||||
diff --git a/include/kernel-version.mk b/include/kernel-version.mk
|
diff --git a/include/kernel-version.mk b/include/kernel-version.mk
|
||||||
index fe81dbf603..3c109c13c8 100644
|
index 688660cbbd..c7aba61cd7 100644
|
||||||
--- a/include/kernel-version.mk
|
--- a/include/kernel-version.mk
|
||||||
+++ b/include/kernel-version.mk
|
+++ b/include/kernel-version.mk
|
||||||
@@ -6,9 +6,15 @@ ifdef CONFIG_TESTING_KERNEL
|
@@ -6,9 +6,15 @@ ifdef CONFIG_TESTING_KERNEL
|
||||||
@@ -18,12 +18,12 @@ index fe81dbf603..3c109c13c8 100644
|
|||||||
|
|
||||||
+LINUX_VERSION-4.4 = .60
|
+LINUX_VERSION-4.4 = .60
|
||||||
+LINUX_VERSION-4.14 = .193
|
+LINUX_VERSION-4.14 = .193
|
||||||
LINUX_VERSION-5.4 = .142
|
LINUX_VERSION-5.4 = .158
|
||||||
+LINUX_VERSION-5.10 = .27
|
+LINUX_VERSION-5.10 = .27
|
||||||
|
|
||||||
+LINUX_KERNEL_HASH-4.4.60 = 2cd8df6f1ac6a5329c5a286ec9b5956215977221a1b731597ed169fff74a9659
|
+LINUX_KERNEL_HASH-4.4.60 = 2cd8df6f1ac6a5329c5a286ec9b5956215977221a1b731597ed169fff74a9659
|
||||||
+LINUX_KERNEL_HASH-4.14.193 = 0b0fb41d4430e1a42738b341cbfd2f41951aa5cd02acabbd53f076119c8b9f03
|
+LINUX_KERNEL_HASH-4.14.193 = 0b0fb41d4430e1a42738b341cbfd2f41951aa5cd02acabbd53f076119c8b9f03
|
||||||
LINUX_KERNEL_HASH-5.4.142 = 99785728968564ba27c7e552d024b560072dcbc885540912eabb5c021e231451
|
LINUX_KERNEL_HASH-5.4.158 = 6e018fecdc8fc24553756e582d83b82d65b10a6b03ef36262a24911f839b8d59
|
||||||
+LINUX_KERNEL_HASH-5.10.27 = d99dc9662951299c53a0a8d8c8d0a72a16ff861d20e927c0f9b14f63282d69d9
|
+LINUX_KERNEL_HASH-5.10.27 = d99dc9662951299c53a0a8d8c8d0a72a16ff861d20e927c0f9b14f63282d69d9
|
||||||
|
|
||||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||||
|
|||||||
@@ -1,33 +1,22 @@
|
|||||||
From 1496ca5ceb941ba725311c6c0366193092035f32 Mon Sep 17 00:00:00 2001
|
From 23f5618453b232b9ebc5b61b7a560cd4abc09957 Mon Sep 17 00:00:00 2001
|
||||||
From: John Crispin <john@phrozen.org>
|
From: John Crispin <john@phrozen.org>
|
||||||
Date: Thu, 27 May 2021 13:24:47 +0200
|
Date: Thu, 27 May 2021 13:24:47 +0200
|
||||||
Subject: [PATCH 01/60] netifd: update to latest HEAD
|
Subject: [PATCH] netifd: update to latest HEAD
|
||||||
|
|
||||||
Signed-off-by: John Crispin <john@phrozen.org>
|
Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
---
|
---
|
||||||
package/network/config/netifd/Makefile | 8 ++--
|
package/network/config/netifd/Makefile | 2 -
|
||||||
.../config/netifd/patches/100-script.patch | 21 +++++++++++
|
.../config/netifd/patches/100-script.patch | 21 +++++++++++
|
||||||
.../config/netifd/patches/hairpin.patch | 37 +++++++++++++++++++
|
.../config/netifd/patches/hairpin.patch | 37 +++++++++++++++++++
|
||||||
3 files changed, 61 insertions(+), 5 deletions(-)
|
3 files changed, 58 insertions(+), 2 deletions(-)
|
||||||
create mode 100644 package/network/config/netifd/patches/100-script.patch
|
create mode 100644 package/network/config/netifd/patches/100-script.patch
|
||||||
create mode 100644 package/network/config/netifd/patches/hairpin.patch
|
create mode 100644 package/network/config/netifd/patches/hairpin.patch
|
||||||
|
|
||||||
diff --git a/package/network/config/netifd/Makefile b/package/network/config/netifd/Makefile
|
diff --git a/package/network/config/netifd/Makefile b/package/network/config/netifd/Makefile
|
||||||
index 4b5f110da2..d41bddfd56 100644
|
index cd4f8f423d..e4399b2473 100644
|
||||||
--- a/package/network/config/netifd/Makefile
|
--- a/package/network/config/netifd/Makefile
|
||||||
+++ b/package/network/config/netifd/Makefile
|
+++ b/package/network/config/netifd/Makefile
|
||||||
@@ -5,16 +5,14 @@ PKG_RELEASE:=1
|
@@ -13,8 +13,6 @@ PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||||
|
|
||||||
PKG_SOURCE_PROTO:=git
|
|
||||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/netifd.git
|
|
||||||
-PKG_SOURCE_DATE:=2021-07-26
|
|
||||||
-PKG_SOURCE_VERSION:=440eb0647708274cc8d7d9e7c2bb0cfdfba90023
|
|
||||||
-PKG_MIRROR_HASH:=eed957036ab608fdc49bdf801fc5b4405fcd2a3a5e5d3343ec39898e156c10e9
|
|
||||||
+PKG_SOURCE_DATE:=2021-10-20
|
|
||||||
+PKG_SOURCE_VERSION:=c61a1d432b34babe230e49a82712608b07410fc3
|
|
||||||
+PKG_MIRROR_HASH:=2b040d039c560cbc04dfe1e496aa81f714a032db88986803728dd6b724c11cd2
|
|
||||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
|
||||||
|
|
||||||
PKG_LICENSE:=GPL-2.0
|
PKG_LICENSE:=GPL-2.0
|
||||||
PKG_LICENSE_FILES:=
|
PKG_LICENSE_FILES:=
|
||||||
|
|
||||||
@@ -63,49 +52,6 @@ index 0000000000..e7ba83f4bb
|
|||||||
+ psk3-mixed*|sae-mixed*)
|
+ psk3-mixed*|sae-mixed*)
|
||||||
+ auth_type=psk-sae
|
+ auth_type=psk-sae
|
||||||
+ ;;
|
+ ;;
|
||||||
diff --git a/package/network/config/netifd/patches/hairpin.patch b/package/network/config/netifd/patches/hairpin.patch
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000..25515d75d4
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/package/network/config/netifd/patches/hairpin.patch
|
|
||||||
@@ -0,0 +1,37 @@
|
|
||||||
+diff --git a/wireless.c b/wireless.c
|
|
||||||
+index b26c4e8c8f0b..bd847e72ab40 100644
|
|
||||||
+--- a/wireless.c
|
|
||||||
++++ b/wireless.c
|
|
||||||
+@@ -804,20 +804,13 @@ wireless_interface_init_config(struct wireless_interface *vif)
|
|
||||||
+ vif->network = cur;
|
|
||||||
+
|
|
||||||
+ cur = tb[VIF_ATTR_MODE];
|
|
||||||
+- if (cur)
|
|
||||||
+- vif->ap_mode = !strcmp(blobmsg_get_string(cur), "ap");
|
|
||||||
+-
|
|
||||||
+- if (!vif->ap_mode)
|
|
||||||
+- return;
|
|
||||||
++ vif->ap_mode = cur && !strcmp(blobmsg_get_string(cur), "ap");
|
|
||||||
+
|
|
||||||
+ cur = tb[VIF_ATTR_ISOLATE];
|
|
||||||
+- if (cur)
|
|
||||||
+- vif->isolate = blobmsg_get_bool(cur);
|
|
||||||
++ vif->isolate = vif->ap_mode && cur && blobmsg_get_bool(cur);
|
|
||||||
+
|
|
||||||
+ cur = tb[VIF_ATTR_PROXYARP];
|
|
||||||
+- if (cur)
|
|
||||||
+- vif->proxyarp = blobmsg_get_bool(cur);
|
|
||||||
+-
|
|
||||||
++ vif->proxyarp = vif->ap_mode && cur && blobmsg_get_bool(cur);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /* vlist update call for wireless interface list */
|
|
||||||
+@@ -846,8 +839,6 @@ vif_update(struct vlist_tree *tree, struct vlist_node *node_new,
|
|
||||||
+ wireless_interface_handle_link(vif_old, NULL, false);
|
|
||||||
+ free(vif_old->config);
|
|
||||||
+ vif_old->config = blob_memdup(vif_new->config);
|
|
||||||
+- vif_old->isolate = vif_new->isolate;
|
|
||||||
+- vif_old->ap_mode = vif_new->ap_mode;
|
|
||||||
+ wireless_interface_init_config(vif_old);
|
|
||||||
+ free(vif_new);
|
|
||||||
+ } else if (vif_new) {
|
|
||||||
--
|
--
|
||||||
2.25.1
|
2.25.1
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,247 +0,0 @@
|
|||||||
From 99b9f524e94b98ce8fd3e141bf7e07bfa96bbea0 Mon Sep 17 00:00:00 2001
|
|
||||||
From: John Crispin <john@phrozen.org>
|
|
||||||
Date: Tue, 14 Sep 2021 09:19:08 +0200
|
|
||||||
Subject: [PATCH] mt76: update to latest HEAD
|
|
||||||
|
|
||||||
Signed-off-by: John Crispin <john@phrozen.org>
|
|
||||||
---
|
|
||||||
package/kernel/mt76/Makefile | 7 +-
|
|
||||||
...the-dst-buffer-to-of_get_mac_address.patch | 206 ++++++++++++++++++
|
|
||||||
2 files changed, 210 insertions(+), 3 deletions(-)
|
|
||||||
create mode 100644 package/kernel/mt76/patches/001-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch
|
|
||||||
|
|
||||||
diff --git a/package/kernel/mt76/Makefile b/package/kernel/mt76/Makefile
|
|
||||||
index e4051d8347..431c57a240 100644
|
|
||||||
--- a/package/kernel/mt76/Makefile
|
|
||||||
+++ b/package/kernel/mt76/Makefile
|
|
||||||
@@ -8,11 +8,12 @@ PKG_LICENSE_FILES:=
|
|
||||||
|
|
||||||
PKG_SOURCE_URL:=https://github.com/openwrt/mt76
|
|
||||||
PKG_SOURCE_PROTO:=git
|
|
||||||
-PKG_SOURCE_DATE:=2021-06-06
|
|
||||||
-PKG_SOURCE_VERSION:=22b690334c0f49b11534cc2e331c9d5e17c4a0bc
|
|
||||||
-PKG_MIRROR_HASH:=ff5e563935919d2e40c1e7254ef3bc06f7ecc5e69f8ddd12903e8f5de942d630
|
|
||||||
+PKG_SOURCE_DATE:=2021-07-15
|
|
||||||
+PKG_SOURCE_VERSION:=bbebea7d6dc64313132226adc3f7369d36e9359d
|
|
||||||
+PKG_MIRROR_HASH:=17cd74e72c1f6c8742b698bf6772afacc6fba71b233af8c4d59530600cf44d5b
|
|
||||||
|
|
||||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
|
||||||
+PKG_USE_NINJA:=0
|
|
||||||
PKG_BUILD_PARALLEL:=1
|
|
||||||
|
|
||||||
PKG_CONFIG_DEPENDS += \
|
|
||||||
diff --git a/package/kernel/mt76/patches/001-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch b/package/kernel/mt76/patches/001-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000..66075f2771
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/package/kernel/mt76/patches/001-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch
|
|
||||||
@@ -0,0 +1,206 @@
|
|
||||||
+From 83216e3988cd196183542937c9bd58b279f946af Mon Sep 17 00:00:00 2001
|
|
||||||
+From: Michael Walle <michael@walle.cc>
|
|
||||||
+Date: Mon, 12 Apr 2021 19:47:17 +0200
|
|
||||||
+Subject: of: net: pass the dst buffer to of_get_mac_address()
|
|
||||||
+
|
|
||||||
+of_get_mac_address() returns a "const void*" pointer to a MAC address.
|
|
||||||
+Lately, support to fetch the MAC address by an NVMEM provider was added.
|
|
||||||
+But this will only work with platform devices. It will not work with
|
|
||||||
+PCI devices (e.g. of an integrated root complex) and esp. not with DSA
|
|
||||||
+ports.
|
|
||||||
+
|
|
||||||
+There is an of_* variant of the nvmem binding which works without
|
|
||||||
+devices. The returned data of a nvmem_cell_read() has to be freed after
|
|
||||||
+use. On the other hand the return of_get_mac_address() points to some
|
|
||||||
+static data without a lifetime. The trick for now, was to allocate a
|
|
||||||
+device resource managed buffer which is then returned. This will only
|
|
||||||
+work if we have an actual device.
|
|
||||||
+
|
|
||||||
+Change it, so that the caller of of_get_mac_address() has to supply a
|
|
||||||
+buffer where the MAC address is written to. Unfortunately, this will
|
|
||||||
+touch all drivers which use the of_get_mac_address().
|
|
||||||
+
|
|
||||||
+Usually the code looks like:
|
|
||||||
+
|
|
||||||
+ const char *addr;
|
|
||||||
+ addr = of_get_mac_address(np);
|
|
||||||
+ if (!IS_ERR(addr))
|
|
||||||
+ ether_addr_copy(ndev->dev_addr, addr);
|
|
||||||
+
|
|
||||||
+This can then be simply rewritten as:
|
|
||||||
+
|
|
||||||
+ of_get_mac_address(np, ndev->dev_addr);
|
|
||||||
+
|
|
||||||
+Sometimes is_valid_ether_addr() is used to test the MAC address.
|
|
||||||
+of_get_mac_address() already makes sure, it just returns a valid MAC
|
|
||||||
+address. Thus we can just test its return code. But we have to be
|
|
||||||
+careful if there are still other sources for the MAC address before the
|
|
||||||
+of_get_mac_address(). In this case we have to keep the
|
|
||||||
+is_valid_ether_addr() call.
|
|
||||||
+
|
|
||||||
+The following coccinelle patch was used to convert common cases to the
|
|
||||||
+new style. Afterwards, I've manually gone over the drivers and fixed the
|
|
||||||
+return code variable: either used a new one or if one was already
|
|
||||||
+available use that. Mansour Moufid, thanks for that coccinelle patch!
|
|
||||||
+
|
|
||||||
+<spml>
|
|
||||||
+@a@
|
|
||||||
+identifier x;
|
|
||||||
+expression y, z;
|
|
||||||
+@@
|
|
||||||
+- x = of_get_mac_address(y);
|
|
||||||
++ x = of_get_mac_address(y, z);
|
|
||||||
+ <...
|
|
||||||
+- ether_addr_copy(z, x);
|
|
||||||
+ ...>
|
|
||||||
+
|
|
||||||
+@@
|
|
||||||
+identifier a.x;
|
|
||||||
+@@
|
|
||||||
+- if (<+... x ...+>) {}
|
|
||||||
+
|
|
||||||
+@@
|
|
||||||
+identifier a.x;
|
|
||||||
+@@
|
|
||||||
+ if (<+... x ...+>) {
|
|
||||||
+ ...
|
|
||||||
+ }
|
|
||||||
+- else {}
|
|
||||||
+
|
|
||||||
+@@
|
|
||||||
+identifier a.x;
|
|
||||||
+expression e;
|
|
||||||
+@@
|
|
||||||
+- if (<+... x ...+>@e)
|
|
||||||
+- {}
|
|
||||||
+- else
|
|
||||||
++ if (!(e))
|
|
||||||
+ {...}
|
|
||||||
+
|
|
||||||
+@@
|
|
||||||
+expression x, y, z;
|
|
||||||
+@@
|
|
||||||
+- x = of_get_mac_address(y, z);
|
|
||||||
++ of_get_mac_address(y, z);
|
|
||||||
+ ... when != x
|
|
||||||
+</spml>
|
|
||||||
+
|
|
||||||
+All drivers, except drivers/net/ethernet/aeroflex/greth.c, were
|
|
||||||
+compile-time tested.
|
|
||||||
+
|
|
||||||
+Suggested-by: Andrew Lunn <andrew@lunn.ch>
|
|
||||||
+Signed-off-by: Michael Walle <michael@walle.cc>
|
|
||||||
+Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
|
||||||
+Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
||||||
+---
|
|
||||||
+ arch/arm/mach-mvebu/kirkwood.c | 3 +-
|
|
||||||
+ arch/powerpc/sysdev/tsi108_dev.c | 5 +-
|
|
||||||
+ drivers/net/ethernet/aeroflex/greth.c | 6 +--
|
|
||||||
+ drivers/net/ethernet/allwinner/sun4i-emac.c | 10 ++--
|
|
||||||
+ drivers/net/ethernet/altera/altera_tse_main.c | 7 +--
|
|
||||||
+ drivers/net/ethernet/arc/emac_main.c | 8 +--
|
|
||||||
+ drivers/net/ethernet/atheros/ag71xx.c | 7 +--
|
|
||||||
+ drivers/net/ethernet/broadcom/bcm4908_enet.c | 7 +--
|
|
||||||
+ drivers/net/ethernet/broadcom/bcmsysport.c | 7 +--
|
|
||||||
+ drivers/net/ethernet/broadcom/bgmac-bcma.c | 10 ++--
|
|
||||||
+ drivers/net/ethernet/broadcom/bgmac-platform.c | 11 ++--
|
|
||||||
+ drivers/net/ethernet/cadence/macb_main.c | 11 ++--
|
|
||||||
+ drivers/net/ethernet/cavium/octeon/octeon_mgmt.c | 8 +--
|
|
||||||
+ drivers/net/ethernet/cavium/thunder/thunder_bgx.c | 5 +-
|
|
||||||
+ drivers/net/ethernet/davicom/dm9000.c | 10 ++--
|
|
||||||
+ drivers/net/ethernet/ethoc.c | 6 +--
|
|
||||||
+ drivers/net/ethernet/ezchip/nps_enet.c | 7 +--
|
|
||||||
+ drivers/net/ethernet/freescale/fec_main.c | 7 +--
|
|
||||||
+ drivers/net/ethernet/freescale/fec_mpc52xx.c | 7 +--
|
|
||||||
+ drivers/net/ethernet/freescale/fman/mac.c | 9 ++--
|
|
||||||
+ .../net/ethernet/freescale/fs_enet/fs_enet-main.c | 5 +-
|
|
||||||
+ drivers/net/ethernet/freescale/gianfar.c | 8 +--
|
|
||||||
+ drivers/net/ethernet/freescale/ucc_geth.c | 5 +-
|
|
||||||
+ drivers/net/ethernet/hisilicon/hisi_femac.c | 7 +--
|
|
||||||
+ drivers/net/ethernet/hisilicon/hix5hd2_gmac.c | 7 +--
|
|
||||||
+ drivers/net/ethernet/lantiq_xrx200.c | 7 +--
|
|
||||||
+ drivers/net/ethernet/marvell/mv643xx_eth.c | 5 +-
|
|
||||||
+ drivers/net/ethernet/marvell/mvneta.c | 6 +--
|
|
||||||
+ .../net/ethernet/marvell/prestera/prestera_main.c | 11 ++--
|
|
||||||
+ drivers/net/ethernet/marvell/pxa168_eth.c | 9 +---
|
|
||||||
+ drivers/net/ethernet/marvell/sky2.c | 8 ++-
|
|
||||||
+ drivers/net/ethernet/mediatek/mtk_eth_soc.c | 11 ++--
|
|
||||||
+ drivers/net/ethernet/micrel/ks8851_common.c | 7 ++-
|
|
||||||
+ drivers/net/ethernet/microchip/lan743x_main.c | 5 +-
|
|
||||||
+ drivers/net/ethernet/nxp/lpc_eth.c | 4 +-
|
|
||||||
+ drivers/net/ethernet/qualcomm/qca_spi.c | 10 ++--
|
|
||||||
+ drivers/net/ethernet/qualcomm/qca_uart.c | 9 +---
|
|
||||||
+ drivers/net/ethernet/renesas/ravb_main.c | 12 +++--
|
|
||||||
+ drivers/net/ethernet/renesas/sh_eth.c | 5 +-
|
|
||||||
+ .../net/ethernet/samsung/sxgbe/sxgbe_platform.c | 13 ++---
|
|
||||||
+ drivers/net/ethernet/socionext/sni_ave.c | 10 ++--
|
|
||||||
+ .../net/ethernet/stmicro/stmmac/dwmac-anarion.c | 2 +-
|
|
||||||
+ .../ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c | 2 +-
|
|
||||||
+ .../net/ethernet/stmicro/stmmac/dwmac-generic.c | 2 +-
|
|
||||||
+ drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c | 2 +-
|
|
||||||
+ .../net/ethernet/stmicro/stmmac/dwmac-intel-plat.c | 2 +-
|
|
||||||
+ .../net/ethernet/stmicro/stmmac/dwmac-ipq806x.c | 2 +-
|
|
||||||
+ .../net/ethernet/stmicro/stmmac/dwmac-lpc18xx.c | 2 +-
|
|
||||||
+ .../net/ethernet/stmicro/stmmac/dwmac-mediatek.c | 2 +-
|
|
||||||
+ drivers/net/ethernet/stmicro/stmmac/dwmac-meson.c | 2 +-
|
|
||||||
+ .../net/ethernet/stmicro/stmmac/dwmac-meson8b.c | 2 +-
|
|
||||||
+ drivers/net/ethernet/stmicro/stmmac/dwmac-oxnas.c | 2 +-
|
|
||||||
+ .../ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c | 2 +-
|
|
||||||
+ drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 2 +-
|
|
||||||
+ .../net/ethernet/stmicro/stmmac/dwmac-socfpga.c | 2 +-
|
|
||||||
+ drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c | 2 +-
|
|
||||||
+ drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c | 2 +-
|
|
||||||
+ drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 2 +-
|
|
||||||
+ drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c | 2 +-
|
|
||||||
+ .../net/ethernet/stmicro/stmmac/dwmac-visconti.c | 2 +-
|
|
||||||
+ drivers/net/ethernet/stmicro/stmmac/stmmac.h | 2 +-
|
|
||||||
+ drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +-
|
|
||||||
+ .../net/ethernet/stmicro/stmmac/stmmac_platform.c | 14 ++---
|
|
||||||
+ .../net/ethernet/stmicro/stmmac/stmmac_platform.h | 2 +-
|
|
||||||
+ drivers/net/ethernet/ti/am65-cpsw-nuss.c | 19 ++++---
|
|
||||||
+ drivers/net/ethernet/ti/cpsw.c | 7 +--
|
|
||||||
+ drivers/net/ethernet/ti/cpsw_new.c | 7 +--
|
|
||||||
+ drivers/net/ethernet/ti/davinci_emac.c | 8 +--
|
|
||||||
+ drivers/net/ethernet/ti/netcp_core.c | 7 +--
|
|
||||||
+ drivers/net/ethernet/wiznet/w5100-spi.c | 8 ++-
|
|
||||||
+ drivers/net/ethernet/wiznet/w5100.c | 2 +-
|
|
||||||
+ drivers/net/ethernet/xilinx/ll_temac_main.c | 8 +--
|
|
||||||
+ drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 15 +++---
|
|
||||||
+ drivers/net/ethernet/xilinx/xilinx_emaclite.c | 8 +--
|
|
||||||
+ drivers/net/wireless/ath/ath9k/init.c | 5 +-
|
|
||||||
+ drivers/net/wireless/mediatek/mt76/eeprom.c | 9 +---
|
|
||||||
+ drivers/net/wireless/ralink/rt2x00/rt2x00dev.c | 6 +--
|
|
||||||
+ drivers/of/of_net.c | 60 ++++++++++------------
|
|
||||||
+ drivers/staging/octeon/ethernet.c | 10 ++--
|
|
||||||
+ drivers/staging/wfx/main.c | 7 ++-
|
|
||||||
+ include/linux/of_net.h | 6 +--
|
|
||||||
+ include/net/dsa.h | 2 +-
|
|
||||||
+ net/dsa/dsa2.c | 2 +-
|
|
||||||
+ net/dsa/slave.c | 2 +-
|
|
||||||
+ net/ethernet/eth.c | 11 ++--
|
|
||||||
+ 85 files changed, 218 insertions(+), 364 deletions(-)
|
|
||||||
+
|
|
||||||
+diff --git a/drivers/net/wireless/mediatek/mt76/eeprom.c b/drivers/net/wireless/mediatek/mt76/eeprom.c
|
|
||||||
+index 665b54c5c8ae5..6d895738222ad 100644
|
|
||||||
+--- a/eeprom.c
|
|
||||||
++++ b/eeprom.c
|
|
||||||
+@@ -91,15 +91,9 @@ void
|
|
||||||
+ {
|
|
||||||
+ struct mt76_dev *dev = phy->dev;
|
|
||||||
+
|
|
||||||
+-#ifdef CONFIG_OF
|
|
||||||
+ struct device_node *np = dev->dev->of_node;
|
|
||||||
+- const u8 *mac = NULL;
|
|
||||||
+
|
|
||||||
+- if (np)
|
|
||||||
+- mac = of_get_mac_address(np);
|
|
||||||
+- if (!IS_ERR_OR_NULL(mac))
|
|
||||||
+- ether_addr_copy(phy->macaddr, mac);
|
|
||||||
+-#endif
|
|
||||||
++ of_get_mac_address(np, phy->macaddr);
|
|
||||||
+
|
|
||||||
+ if (!is_valid_ether_addr(phy->macaddr)) {
|
|
||||||
+ eth_random_addr(phy->macaddr);
|
|
||||||
+--
|
|
||||||
+cgit 1.2.3-1.el7
|
|
||||||
+
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
From 4b2e6bb352b400e244646a7bc59bc5ca3ca6f5df Mon Sep 17 00:00:00 2001
|
|
||||||
From: Roman Yeryomin <roman@advem.lv>
|
|
||||||
Date: Fri, 3 Sep 2021 17:31:11 +0300
|
|
||||||
Subject: [PATCH 32/32] iproute2: m_xt.so depends on dynsyms.list
|
|
||||||
|
|
||||||
When doing parallel build on a fast machine with bottleneck in i/o,
|
|
||||||
m_xt.so may start linking faster than dynsyms.list gets populated,
|
|
||||||
resulting in error:
|
|
||||||
|
|
||||||
ld:dynsyms.list:0: syntax error in dynamic list
|
|
||||||
|
|
||||||
Fix this by adding dynsyms.list as make dependency to m_xt.so
|
|
||||||
Described also here:
|
|
||||||
https://bugs.openwrt.org/index.php?do=details&task_id=3353
|
|
||||||
|
|
||||||
Change from v1:
|
|
||||||
- add dynsysms.list dependancy only when shared libs are enabled
|
|
||||||
|
|
||||||
Signed-off-by: Roman Yeryomin <roman@advem.lv>
|
|
||||||
Fixes: FS#3353
|
|
||||||
---
|
|
||||||
.../utils/iproute2/patches/175-reduce-dynamic-syms.patch | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/package/network/utils/iproute2/patches/175-reduce-dynamic-syms.patch b/package/network/utils/iproute2/patches/175-reduce-dynamic-syms.patch
|
|
||||||
index da961a183b..c3892e5a0e 100644
|
|
||||||
--- a/package/network/utils/iproute2/patches/175-reduce-dynamic-syms.patch
|
|
||||||
+++ b/package/network/utils/iproute2/patches/175-reduce-dynamic-syms.patch
|
|
||||||
@@ -26,13 +26,14 @@
|
|
||||||
|
|
||||||
q_atm.so: q_atm.c
|
|
||||||
$(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fpic -o q_atm.so q_atm.c -latm
|
|
||||||
-@@ -205,4 +206,15 @@ static-syms.h: $(wildcard *.c)
|
|
||||||
+@@ -205,4 +206,16 @@ static-syms.h: $(wildcard *.c)
|
|
||||||
sed -n '/'$$s'[^ ]* =/{s:.* \([^ ]*'$$s'[^ ]*\) .*:extern char \1[] __attribute__((weak)); if (!strcmp(sym, "\1")) return \1;:;p}' $$files ; \
|
|
||||||
done > $@
|
|
||||||
|
|
||||||
+else
|
|
||||||
+
|
|
||||||
+tc: dynsyms.list
|
|
||||||
++m_xt.so: dynsyms.list
|
|
||||||
+dynsyms.list: $(wildcard *.c)
|
|
||||||
+ files="$(filter-out $(patsubst %.so,%.c,$(TCSO)), $^)" ; \
|
|
||||||
+ echo "{" > $@ ; \
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
From 9e48f3b55c4a379ad36974097fadc6bd034a8ce5 Mon Sep 17 00:00:00 2001
|
From e2bb75821cd023b62bf69bc40d5187ba63237cc2 Mon Sep 17 00:00:00 2001
|
||||||
From: John Crispin <john@phrozen.org>
|
From: John Crispin <john@phrozen.org>
|
||||||
Date: Tue, 14 Dec 2021 09:39:42 +0100
|
Date: Tue, 14 Dec 2021 09:39:42 +0100
|
||||||
Subject: [PATCH] kernel: backport napi threading patches
|
Subject: [PATCH] kernel: backport napi threading patches
|
||||||
@@ -723,7 +723,7 @@ index 0000000000..108cf809f8
|
|||||||
+
|
+
|
||||||
diff --git a/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch b/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch
|
diff --git a/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch b/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch
|
||||||
deleted file mode 100644
|
deleted file mode 100644
|
||||||
index f45efdf12b..0000000000
|
index febec868f4..0000000000
|
||||||
--- a/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch
|
--- a/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch
|
||||||
+++ /dev/null
|
+++ /dev/null
|
||||||
@@ -1,356 +0,0 @@
|
@@ -1,356 +0,0 @@
|
||||||
@@ -824,7 +824,7 @@ index f45efdf12b..0000000000
|
|||||||
-
|
-
|
||||||
- static int netif_rx_internal(struct sk_buff *skb);
|
- static int netif_rx_internal(struct sk_buff *skb);
|
||||||
- static int call_netdevice_notifiers_info(unsigned long val,
|
- static int call_netdevice_notifiers_info(unsigned long val,
|
||||||
-@@ -5931,6 +5932,11 @@ void __napi_schedule(struct napi_struct
|
-@@ -5937,6 +5938,11 @@ void __napi_schedule(struct napi_struct
|
||||||
- {
|
- {
|
||||||
- unsigned long flags;
|
- unsigned long flags;
|
||||||
-
|
-
|
||||||
@@ -836,7 +836,7 @@ index f45efdf12b..0000000000
|
|||||||
- local_irq_save(flags);
|
- local_irq_save(flags);
|
||||||
- ____napi_schedule(this_cpu_ptr(&softnet_data), n);
|
- ____napi_schedule(this_cpu_ptr(&softnet_data), n);
|
||||||
- local_irq_restore(flags);
|
- local_irq_restore(flags);
|
||||||
-@@ -5982,6 +5988,11 @@ EXPORT_SYMBOL(napi_schedule_prep);
|
-@@ -5988,6 +5994,11 @@ EXPORT_SYMBOL(napi_schedule_prep);
|
||||||
- */
|
- */
|
||||||
- void __napi_schedule_irqoff(struct napi_struct *n)
|
- void __napi_schedule_irqoff(struct napi_struct *n)
|
||||||
- {
|
- {
|
||||||
@@ -848,7 +848,7 @@ index f45efdf12b..0000000000
|
|||||||
- if (!IS_ENABLED(CONFIG_PREEMPT_RT))
|
- if (!IS_ENABLED(CONFIG_PREEMPT_RT))
|
||||||
- ____napi_schedule(this_cpu_ptr(&softnet_data), n);
|
- ____napi_schedule(this_cpu_ptr(&softnet_data), n);
|
||||||
- else
|
- else
|
||||||
-@@ -6246,9 +6257,89 @@ static void init_gro_hash(struct napi_st
|
-@@ -6252,9 +6263,89 @@ static void init_gro_hash(struct napi_st
|
||||||
- napi->gro_bitmask = 0;
|
- napi->gro_bitmask = 0;
|
||||||
- }
|
- }
|
||||||
-
|
-
|
||||||
@@ -938,7 +938,7 @@ index f45efdf12b..0000000000
|
|||||||
- INIT_LIST_HEAD(&napi->poll_list);
|
- INIT_LIST_HEAD(&napi->poll_list);
|
||||||
- hrtimer_init(&napi->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED);
|
- hrtimer_init(&napi->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED);
|
||||||
- napi->timer.function = napi_watchdog;
|
- napi->timer.function = napi_watchdog;
|
||||||
-@@ -6265,6 +6356,7 @@ void netif_napi_add(struct net_device *d
|
-@@ -6271,6 +6362,7 @@ void netif_napi_add(struct net_device *d
|
||||||
- #ifdef CONFIG_NETPOLL
|
- #ifdef CONFIG_NETPOLL
|
||||||
- napi->poll_owner = -1;
|
- napi->poll_owner = -1;
|
||||||
- #endif
|
- #endif
|
||||||
@@ -946,7 +946,7 @@ index f45efdf12b..0000000000
|
|||||||
- set_bit(NAPI_STATE_SCHED, &napi->state);
|
- set_bit(NAPI_STATE_SCHED, &napi->state);
|
||||||
- set_bit(NAPI_STATE_NPSVC, &napi->state);
|
- set_bit(NAPI_STATE_NPSVC, &napi->state);
|
||||||
- list_add_rcu(&napi->dev_list, &dev->napi_list);
|
- list_add_rcu(&napi->dev_list, &dev->napi_list);
|
||||||
-@@ -6305,6 +6397,7 @@ static void flush_gro_hash(struct napi_s
|
-@@ -6311,6 +6403,7 @@ static void flush_gro_hash(struct napi_s
|
||||||
- void netif_napi_del(struct napi_struct *napi)
|
- void netif_napi_del(struct napi_struct *napi)
|
||||||
- {
|
- {
|
||||||
- might_sleep();
|
- might_sleep();
|
||||||
@@ -954,7 +954,7 @@ index f45efdf12b..0000000000
|
|||||||
- if (napi_hash_del(napi))
|
- if (napi_hash_del(napi))
|
||||||
- synchronize_net();
|
- synchronize_net();
|
||||||
- list_del_init(&napi->dev_list);
|
- list_del_init(&napi->dev_list);
|
||||||
-@@ -6317,50 +6410,18 @@ EXPORT_SYMBOL(netif_napi_del);
|
-@@ -6323,50 +6416,18 @@ EXPORT_SYMBOL(netif_napi_del);
|
||||||
-
|
-
|
||||||
- static int napi_poll(struct napi_struct *n, struct list_head *repoll)
|
- static int napi_poll(struct napi_struct *n, struct list_head *repoll)
|
||||||
- {
|
- {
|
||||||
@@ -1009,7 +1009,7 @@ index f45efdf12b..0000000000
|
|||||||
-
|
-
|
||||||
- /* Some drivers may have called napi_schedule
|
- /* Some drivers may have called napi_schedule
|
||||||
- * prior to exhausting their budget.
|
- * prior to exhausting their budget.
|
||||||
-@@ -10340,6 +10401,10 @@ static int __init net_dev_init(void)
|
-@@ -10346,6 +10407,10 @@ static int __init net_dev_init(void)
|
||||||
- sd->backlog.weight = weight_p;
|
- sd->backlog.weight = weight_p;
|
||||||
- }
|
- }
|
||||||
-
|
-
|
||||||
|
|||||||
@@ -1,22 +1,22 @@
|
|||||||
From 3b8b9898226f49379e34356fd8d2b0abc8947994 Mon Sep 17 00:00:00 2001
|
From 9279389d2759af6bfa21bfe7a80dd5c96c67df9e Mon Sep 17 00:00:00 2001
|
||||||
From: John Crispin <john@phrozen.org>
|
From: John Crispin <john@phrozen.org>
|
||||||
Date: Fri, 19 Jun 2020 10:45:22 +0200
|
Date: Fri, 19 Jun 2020 10:45:22 +0200
|
||||||
Subject: [PATCH] pending: scripts: add gen_config.py
|
Subject: [PATCH 01/61] pending: scripts: add gen_config.py
|
||||||
|
|
||||||
This script is used to setup the tree based on the profiles/.
|
This script is used to setup the tree based on the profiles/.
|
||||||
|
|
||||||
Signed-off-by: John Crispin <john@phrozen.org>
|
Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
---
|
---
|
||||||
scripts/gen_config.py | 236 ++++++++++++++++++++++++++++++++++++++++++
|
scripts/gen_config.py | 237 ++++++++++++++++++++++++++++++++++++++++++
|
||||||
1 file changed, 236 insertions(+)
|
1 file changed, 237 insertions(+)
|
||||||
create mode 100755 scripts/gen_config.py
|
create mode 100755 scripts/gen_config.py
|
||||||
|
|
||||||
diff --git a/scripts/gen_config.py b/scripts/gen_config.py
|
diff --git a/scripts/gen_config.py b/scripts/gen_config.py
|
||||||
new file mode 100755
|
new file mode 100755
|
||||||
index 0000000000..d39066f44d
|
index 0000000000..01c3f4050d
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/scripts/gen_config.py
|
+++ b/scripts/gen_config.py
|
||||||
@@ -0,0 +1,236 @@
|
@@ -0,0 +1,237 @@
|
||||||
+#!/usr/bin/env python3
|
+#!/usr/bin/env python3
|
||||||
+
|
+
|
||||||
+from os import getenv
|
+from os import getenv
|
||||||
@@ -244,11 +244,12 @@ index 0000000000..d39066f44d
|
|||||||
+ clean_tree()
|
+ clean_tree()
|
||||||
+ setup_feeds(profile)
|
+ setup_feeds(profile)
|
||||||
+ generate_config(profile)
|
+ generate_config(profile)
|
||||||
+ if profile["image"]:
|
+ run(["rm", "-rf", "tmp/"])
|
||||||
+ Path("tmp/image-file").write_text(profile["image"])
|
|
||||||
+ print("Running make defconfig")
|
+ print("Running make defconfig")
|
||||||
+ if run(["make", "defconfig"]).returncode:
|
+ if run(["make", "defconfig"]).returncode:
|
||||||
+ die(f"Error running make defconfig")
|
+ die(f"Error running make defconfig")
|
||||||
|
+ if profile["image"]:
|
||||||
|
+ Path("tmp/image-file").write_text(profile["image"])
|
||||||
+
|
+
|
||||||
+ print("#########################\n" * 3)
|
+ print("#########################\n" * 3)
|
||||||
+ print("\n".join(warnings))
|
+ print("\n".join(warnings))
|
||||||
|
|||||||
@@ -0,0 +1,286 @@
|
|||||||
|
From be7c703e5078abb5f39b9ad435c47db2f9c1f0ec Mon Sep 17 00:00:00 2001
|
||||||
|
From: John Crispin <john@phrozen.org>
|
||||||
|
Date: Tue, 4 Jan 2022 05:22:04 +0100
|
||||||
|
Subject: [PATCH] Revert "gpio-button-hotplug: convert to gpio descriptor
|
||||||
|
(gpiod_) API"
|
||||||
|
|
||||||
|
This reverts commit 6fe4b7aa2b00b4e93871454e6a6fc41eb192c784.
|
||||||
|
---
|
||||||
|
.../src/gpio-button-hotplug.c | 142 ++++++++++--------
|
||||||
|
1 file changed, 79 insertions(+), 63 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c b/package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c
|
||||||
|
index fcaf7f59de..9575c6245b 100644
|
||||||
|
--- a/package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c
|
||||||
|
+++ b/package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c
|
||||||
|
@@ -242,11 +242,11 @@ static int gpio_button_get_value(struct gpio_keys_button_data *bdata)
|
||||||
|
int val;
|
||||||
|
|
||||||
|
if (bdata->can_sleep)
|
||||||
|
- val = !!gpiod_get_value_cansleep(bdata->gpiod);
|
||||||
|
+ val = !!gpio_get_value_cansleep(bdata->b->gpio);
|
||||||
|
else
|
||||||
|
- val = !!gpiod_get_value(bdata->gpiod);
|
||||||
|
+ val = !!gpio_get_value(bdata->b->gpio);
|
||||||
|
|
||||||
|
- return val;
|
||||||
|
+ return val ^ bdata->b->active_low;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void gpio_keys_handle_button(struct gpio_keys_button_data *bdata)
|
||||||
|
@@ -365,6 +365,7 @@ gpio_keys_get_devtree_pdata(struct device *dev)
|
||||||
|
struct device_node *node, *pp;
|
||||||
|
struct gpio_keys_platform_data *pdata;
|
||||||
|
struct gpio_keys_button *button;
|
||||||
|
+ int error;
|
||||||
|
int nbuttons;
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
|
@@ -374,12 +375,14 @@ gpio_keys_get_devtree_pdata(struct device *dev)
|
||||||
|
|
||||||
|
nbuttons = of_get_child_count(node);
|
||||||
|
if (nbuttons == 0)
|
||||||
|
- return ERR_PTR(-EINVAL);
|
||||||
|
+ return NULL;
|
||||||
|
|
||||||
|
pdata = devm_kzalloc(dev, sizeof(*pdata) + nbuttons * (sizeof *button),
|
||||||
|
GFP_KERNEL);
|
||||||
|
- if (!pdata)
|
||||||
|
- return ERR_PTR(-ENOMEM);
|
||||||
|
+ if (!pdata) {
|
||||||
|
+ error = -ENOMEM;
|
||||||
|
+ goto err_out;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
pdata->buttons = (struct gpio_keys_button *)(pdata + 1);
|
||||||
|
pdata->nbuttons = nbuttons;
|
||||||
|
@@ -388,13 +391,37 @@ gpio_keys_get_devtree_pdata(struct device *dev)
|
||||||
|
of_property_read_u32(node, "poll-interval", &pdata->poll_interval);
|
||||||
|
|
||||||
|
for_each_child_of_node(node, pp) {
|
||||||
|
+ enum of_gpio_flags flags;
|
||||||
|
+
|
||||||
|
+ if (!of_find_property(pp, "gpios", NULL)) {
|
||||||
|
+ pdata->nbuttons--;
|
||||||
|
+ dev_warn(dev, "Found button without gpios\n");
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
button = (struct gpio_keys_button *)(&pdata->buttons[i++]);
|
||||||
|
|
||||||
|
+ button->irq = irq_of_parse_and_map(pp, 0);
|
||||||
|
+
|
||||||
|
+ button->gpio = of_get_gpio_flags(pp, 0, &flags);
|
||||||
|
+ if (button->gpio < 0) {
|
||||||
|
+ error = button->gpio;
|
||||||
|
+ if (error != -ENOENT) {
|
||||||
|
+ if (error != -EPROBE_DEFER)
|
||||||
|
+ dev_err(dev,
|
||||||
|
+ "Failed to get gpio flags, error: %d\n",
|
||||||
|
+ error);
|
||||||
|
+ return ERR_PTR(error);
|
||||||
|
+ }
|
||||||
|
+ } else {
|
||||||
|
+ button->active_low = !!(flags & OF_GPIO_ACTIVE_LOW);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (of_property_read_u32(pp, "linux,code", &button->code)) {
|
||||||
|
- dev_err(dev, "Button node '%s' without keycode\n",
|
||||||
|
- pp->full_name);
|
||||||
|
- of_node_put(pp);
|
||||||
|
- return ERR_PTR(-EINVAL);
|
||||||
|
+ dev_err(dev, "Button without keycode: 0x%x\n",
|
||||||
|
+ button->gpio);
|
||||||
|
+ error = -EINVAL;
|
||||||
|
+ goto err_out;
|
||||||
|
}
|
||||||
|
|
||||||
|
button->desc = of_get_property(pp, "label", NULL);
|
||||||
|
@@ -407,12 +434,17 @@ gpio_keys_get_devtree_pdata(struct device *dev)
|
||||||
|
if (of_property_read_u32(pp, "debounce-interval",
|
||||||
|
&button->debounce_interval))
|
||||||
|
button->debounce_interval = 5;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
- button->irq = irq_of_parse_and_map(pp, 0);
|
||||||
|
- button->gpio = -ENOENT; /* mark this as device-tree */
|
||||||
|
+ if (pdata->nbuttons == 0) {
|
||||||
|
+ error = -EINVAL;
|
||||||
|
+ goto err_out;
|
||||||
|
}
|
||||||
|
|
||||||
|
return pdata;
|
||||||
|
+
|
||||||
|
+err_out:
|
||||||
|
+ return ERR_PTR(error);
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct of_device_id gpio_keys_of_match[] = {
|
||||||
|
@@ -439,12 +471,11 @@ gpio_keys_get_devtree_pdata(struct device *dev)
|
||||||
|
static int gpio_keys_button_probe(struct platform_device *pdev,
|
||||||
|
struct gpio_keys_button_dev **_bdev, int polled)
|
||||||
|
{
|
||||||
|
+ struct gpio_keys_platform_data *pdata = pdev->dev.platform_data;
|
||||||
|
struct device *dev = &pdev->dev;
|
||||||
|
- struct gpio_keys_platform_data *pdata = dev_get_platdata(dev);
|
||||||
|
struct gpio_keys_button_dev *bdev;
|
||||||
|
struct gpio_keys_button *buttons;
|
||||||
|
- struct device_node *prev = NULL;
|
||||||
|
- int error = 0;
|
||||||
|
+ int error;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
if (!pdata) {
|
||||||
|
@@ -483,67 +514,46 @@ static int gpio_keys_button_probe(struct platform_device *pdev,
|
||||||
|
for (i = 0; i < pdata->nbuttons; i++) {
|
||||||
|
struct gpio_keys_button *button = &buttons[i];
|
||||||
|
struct gpio_keys_button_data *bdata = &bdev->data[i];
|
||||||
|
- const char *desc = button->desc ? button->desc : DRV_NAME;
|
||||||
|
+ unsigned int gpio = button->gpio;
|
||||||
|
|
||||||
|
if (button->wakeup) {
|
||||||
|
dev_err(dev, "does not support wakeup\n");
|
||||||
|
- error = -EINVAL;
|
||||||
|
- goto out;
|
||||||
|
+ return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
bdata->map_entry = button_get_index(button->code);
|
||||||
|
if (bdata->map_entry < 0) {
|
||||||
|
- dev_err(dev, "does not support key code:%u\n",
|
||||||
|
+ dev_warn(dev, "does not support key code:%u\n",
|
||||||
|
button->code);
|
||||||
|
- error = -EINVAL;
|
||||||
|
- goto out;
|
||||||
|
+ continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(button->type == 0 || button->type == EV_KEY ||
|
||||||
|
button->type == EV_SW)) {
|
||||||
|
- dev_err(dev, "only supports buttons or switches\n");
|
||||||
|
- error = -EINVAL;
|
||||||
|
- goto out;
|
||||||
|
+ dev_warn(dev, "only supports buttons or switches\n");
|
||||||
|
+ continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (gpio_is_valid(button->gpio)) {
|
||||||
|
- /* legacy platform data... but is it the lookup table? */
|
||||||
|
- bdata->gpiod = devm_gpiod_get_index(dev, desc, i,
|
||||||
|
- GPIOD_IN);
|
||||||
|
- if (IS_ERR(bdata->gpiod)) {
|
||||||
|
- /* or the legacy (button->gpio is good) way? */
|
||||||
|
- error = devm_gpio_request_one(dev,
|
||||||
|
- button->gpio, GPIOF_IN | (
|
||||||
|
- button->active_low ? GPIOF_ACTIVE_LOW :
|
||||||
|
- 0), desc);
|
||||||
|
- if (error) {
|
||||||
|
- if (error != -EPROBE_DEFER) {
|
||||||
|
- dev_err(dev, "unable to claim gpio %d, err=%d\n",
|
||||||
|
- button->gpio, error);
|
||||||
|
- }
|
||||||
|
- goto out;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- bdata->gpiod = gpio_to_desc(button->gpio);
|
||||||
|
- }
|
||||||
|
- } else {
|
||||||
|
- /* Device-tree */
|
||||||
|
- struct device_node *child =
|
||||||
|
- of_get_next_child(dev->of_node, prev);
|
||||||
|
-
|
||||||
|
- bdata->gpiod = devm_gpiod_get_from_of_node(dev,
|
||||||
|
- child, "gpios", 0, GPIOD_IN, desc);
|
||||||
|
-
|
||||||
|
- prev = child;
|
||||||
|
+ error = devm_gpio_request(dev, gpio,
|
||||||
|
+ button->desc ? button->desc : DRV_NAME);
|
||||||
|
+ if (error) {
|
||||||
|
+ dev_err(dev, "unable to claim gpio %u, err=%d\n",
|
||||||
|
+ gpio, error);
|
||||||
|
+ return error;
|
||||||
|
}
|
||||||
|
+ bdata->gpiod = gpio_to_desc(gpio);
|
||||||
|
+ if (!bdata->gpiod)
|
||||||
|
+ return -EINVAL;
|
||||||
|
|
||||||
|
- if (IS_ERR_OR_NULL(bdata->gpiod)) {
|
||||||
|
- error = IS_ERR(bdata->gpiod) ? PTR_ERR(bdata->gpiod) :
|
||||||
|
- -EINVAL;
|
||||||
|
- goto out;
|
||||||
|
+ error = gpio_direction_input(gpio);
|
||||||
|
+ if (error) {
|
||||||
|
+ dev_err(dev,
|
||||||
|
+ "unable to set direction on gpio %u, err=%d\n",
|
||||||
|
+ gpio, error);
|
||||||
|
+ return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
- bdata->can_sleep = gpiod_cansleep(bdata->gpiod);
|
||||||
|
+ bdata->can_sleep = gpio_cansleep(gpio);
|
||||||
|
bdata->last_state = -1; /* Unknown state on boot */
|
||||||
|
|
||||||
|
if (bdev->polled) {
|
||||||
|
@@ -574,11 +584,8 @@ static int gpio_keys_button_probe(struct platform_device *pdev,
|
||||||
|
platform_set_drvdata(pdev, bdev);
|
||||||
|
|
||||||
|
*_bdev = bdev;
|
||||||
|
- error = 0;
|
||||||
|
|
||||||
|
-out:
|
||||||
|
- of_node_put(prev);
|
||||||
|
- return error;
|
||||||
|
+ return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int gpio_keys_probe(struct platform_device *pdev)
|
||||||
|
@@ -587,7 +594,9 @@ static int gpio_keys_probe(struct platform_device *pdev)
|
||||||
|
struct gpio_keys_button_dev *bdev;
|
||||||
|
int ret, i;
|
||||||
|
|
||||||
|
+
|
||||||
|
ret = gpio_keys_button_probe(pdev, &bdev, 0);
|
||||||
|
+
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
@@ -599,8 +608,12 @@ static int gpio_keys_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
|
INIT_DELAYED_WORK(&bdata->work, gpio_keys_irq_work_func);
|
||||||
|
|
||||||
|
+ if (!bdata->gpiod)
|
||||||
|
+ continue;
|
||||||
|
+
|
||||||
|
if (!button->irq) {
|
||||||
|
- bdata->irq = gpiod_to_irq(bdata->gpiod);
|
||||||
|
+ bdata->irq = gpio_to_irq(button->gpio);
|
||||||
|
+
|
||||||
|
if (bdata->irq < 0) {
|
||||||
|
dev_err(&pdev->dev, "failed to get irq for gpio:%d\n",
|
||||||
|
button->gpio);
|
||||||
|
@@ -618,6 +631,7 @@ static int gpio_keys_probe(struct platform_device *pdev)
|
||||||
|
ret = devm_request_threaded_irq(&pdev->dev,
|
||||||
|
bdata->irq, NULL, button_handle_irq,
|
||||||
|
irqflags, dev_name(&pdev->dev), bdata);
|
||||||
|
+
|
||||||
|
if (ret < 0) {
|
||||||
|
bdata->irq = 0;
|
||||||
|
dev_err(&pdev->dev, "failed to request irq:%d for gpio:%d\n",
|
||||||
|
@@ -639,12 +653,14 @@ static int gpio_keys_polled_probe(struct platform_device *pdev)
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
ret = gpio_keys_button_probe(pdev, &bdev, 1);
|
||||||
|
+
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
INIT_DELAYED_WORK(&bdev->work, gpio_keys_polled_poll);
|
||||||
|
|
||||||
|
pdata = bdev->pdata;
|
||||||
|
+
|
||||||
|
if (pdata->enable)
|
||||||
|
pdata->enable(bdev->dev);
|
||||||
|
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
From 687576be91062e5ab25e8ff4e2d990799a34210f Mon Sep 17 00:00:00 2001
|
From f42a338de65dc32684d26cca106853eb3e888fde Mon Sep 17 00:00:00 2001
|
||||||
From: John Crispin <john@phrozen.org>
|
From: John Crispin <john@phrozen.org>
|
||||||
Date: Thu, 8 Apr 2021 10:46:29 +0200
|
Date: Thu, 8 Apr 2021 10:46:29 +0200
|
||||||
Subject: [PATCH 22/43] Revert "ipq40xx: revert usage of VLAN S-TAG"
|
Subject: [PATCH 52/83] Revert "ipq40xx: revert usage of VLAN S-TAG"
|
||||||
|
|
||||||
This reverts commit cdc8d4b46f0811292fffc6094acd81e854b5f4a5.
|
This reverts commit cdc8d4b46f0811292fffc6094acd81e854b5f4a5.
|
||||||
|
|
||||||
@@ -50,12 +50,12 @@ index af55ee4dd5..9dc38bcfcc 100644
|
|||||||
edma_set_ethtool_ops(edma_netdev[i]);
|
edma_set_ethtool_ops(edma_netdev[i]);
|
||||||
|
|
||||||
diff --git a/target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c b/target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c
|
diff --git a/target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c b/target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c
|
||||||
index c35ba2799f..9758f013f0 100644
|
index ca7f0ca350..8b3ae53bd9 100644
|
||||||
--- a/target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c
|
--- a/target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c
|
||||||
+++ b/target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c
|
+++ b/target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c
|
||||||
@@ -1201,7 +1201,11 @@ ar40xx_init_port(struct ar40xx_priv *priv, int port)
|
@@ -1200,7 +1200,11 @@ ar40xx_init_port(struct ar40xx_priv *priv, int port)
|
||||||
ar40xx_rmw(priv, AR40XX_REG_PORT_STATUS(port),
|
|
||||||
AR40XX_PORT_AUTO_LINK_EN, 0);
|
ar40xx_write(priv, AR40XX_REG_PORT_STATUS(port), 0);
|
||||||
|
|
||||||
- ar40xx_write(priv, AR40XX_REG_PORT_HEADER(port), 0);
|
- ar40xx_write(priv, AR40XX_REG_PORT_HEADER(port), 0);
|
||||||
+ /* CPU port is setting headers to limit output ports */
|
+ /* CPU port is setting headers to limit output ports */
|
||||||
@@ -66,7 +66,7 @@ index c35ba2799f..9758f013f0 100644
|
|||||||
|
|
||||||
ar40xx_write(priv, AR40XX_REG_PORT_VLAN0(port), 0);
|
ar40xx_write(priv, AR40XX_REG_PORT_VLAN0(port), 0);
|
||||||
|
|
||||||
@@ -1244,6 +1248,10 @@ ar40xx_init_globals(struct ar40xx_priv *priv)
|
@@ -1243,6 +1247,10 @@ ar40xx_init_globals(struct ar40xx_priv *priv)
|
||||||
t = (AR40XX_PORT0_FC_THRESH_ON_DFLT << 16) |
|
t = (AR40XX_PORT0_FC_THRESH_ON_DFLT << 16) |
|
||||||
AR40XX_PORT0_FC_THRESH_OFF_DFLT;
|
AR40XX_PORT0_FC_THRESH_OFF_DFLT;
|
||||||
ar40xx_write(priv, AR40XX_REG_PORT_FLOWCTRL_THRESH(0), t);
|
ar40xx_write(priv, AR40XX_REG_PORT_FLOWCTRL_THRESH(0), t);
|
||||||
@@ -77,7 +77,7 @@ index c35ba2799f..9758f013f0 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -1531,7 +1539,10 @@ ar40xx_setup_port(struct ar40xx_priv *priv, int port, u32 members)
|
@@ -1530,7 +1538,10 @@ ar40xx_setup_port(struct ar40xx_priv *priv, int port, u32 members)
|
||||||
u32 pvid = priv->vlan_id[priv->pvid[port]];
|
u32 pvid = priv->vlan_id[priv->pvid[port]];
|
||||||
|
|
||||||
if (priv->vlan) {
|
if (priv->vlan) {
|
||||||
@@ -89,7 +89,7 @@ index c35ba2799f..9758f013f0 100644
|
|||||||
|
|
||||||
ingress = AR40XX_IN_SECURE;
|
ingress = AR40XX_IN_SECURE;
|
||||||
} else {
|
} else {
|
||||||
@@ -1543,8 +1554,16 @@ ar40xx_setup_port(struct ar40xx_priv *priv, int port, u32 members)
|
@@ -1542,8 +1553,16 @@ ar40xx_setup_port(struct ar40xx_priv *priv, int port, u32 members)
|
||||||
t |= pvid << AR40XX_PORT_VLAN0_DEF_CVID_S;
|
t |= pvid << AR40XX_PORT_VLAN0_DEF_CVID_S;
|
||||||
ar40xx_write(priv, AR40XX_REG_PORT_VLAN0(port), t);
|
ar40xx_write(priv, AR40XX_REG_PORT_VLAN0(port), t);
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,148 @@
|
|||||||
|
From a0eb587ea9e4d905e1796c4f0d64fff9cd8a88f3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: John Crispin <john@phrozen.org>
|
||||||
|
Date: Thu, 14 Oct 2021 15:13:56 +0200
|
||||||
|
Subject: [PATCH] spwlanpoe
|
||||||
|
|
||||||
|
Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
|
---
|
||||||
|
package/boot/uboot-envtools/files/ipq40xx | 1 +
|
||||||
|
target/linux/ipq40xx/base-files/etc/board.d/01_leds | 1 +
|
||||||
|
.../linux/ipq40xx/base-files/etc/board.d/02_network | 1 +
|
||||||
|
.../etc/hotplug.d/firmware/11-ath10k-caldata | 2 ++
|
||||||
|
.../ipq40xx/base-files/lib/upgrade/platform.sh | 3 ++-
|
||||||
|
.../boot/dts/qcom-ipq4018-spw2ac1200-lan-poe.dts | 6 ++++++
|
||||||
|
target/linux/ipq40xx/image/generic.mk | 13 +++++++++++++
|
||||||
|
.../patches-5.4/901-arm-boot-add-dts-files.patch | 3 ++-
|
||||||
|
8 files changed, 28 insertions(+), 2 deletions(-)
|
||||||
|
create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-spw2ac1200-lan-poe.dts
|
||||||
|
|
||||||
|
diff --git a/package/boot/uboot-envtools/files/ipq40xx b/package/boot/uboot-envtools/files/ipq40xx
|
||||||
|
index fd7ad69eff..c51b40ab12 100644
|
||||||
|
--- a/package/boot/uboot-envtools/files/ipq40xx
|
||||||
|
+++ b/package/boot/uboot-envtools/files/ipq40xx
|
||||||
|
@@ -35,6 +35,7 @@ alfa-network,ap120c-ac |\
|
||||||
|
devolo,magic-2-wifi-next |\
|
||||||
|
edgecore,ecw5211 |\
|
||||||
|
edgecore,spw2ac1200 |\
|
||||||
|
+edgecore,spw2ac1200-lan-poe |\
|
||||||
|
glinet,gl-ap1300 |\
|
||||||
|
glinet,gl-b1300 |\
|
||||||
|
luma,wrtq-329acn |\
|
||||||
|
diff --git a/target/linux/ipq40xx/base-files/etc/board.d/01_leds b/target/linux/ipq40xx/base-files/etc/board.d/01_leds
|
||||||
|
index d944d72184..5476dd5df6 100755
|
||||||
|
--- a/target/linux/ipq40xx/base-files/etc/board.d/01_leds
|
||||||
|
+++ b/target/linux/ipq40xx/base-files/etc/board.d/01_leds
|
||||||
|
@@ -72,6 +72,7 @@ qxwlan,e2600ac-c2)
|
||||||
|
;;
|
||||||
|
edgecore,ecw5211 |\
|
||||||
|
edgecore,spw2ac1200 |\
|
||||||
|
+edgecore,spw2ac1200-lan-poe |\
|
||||||
|
cig,wf610d |\
|
||||||
|
zyxel,nbg6617 |\
|
||||||
|
zyxel,wre6606)
|
||||||
|
diff --git a/target/linux/ipq40xx/base-files/etc/board.d/02_network b/target/linux/ipq40xx/base-files/etc/board.d/02_network
|
||||||
|
index e4b009bf93..f533c39179 100755
|
||||||
|
--- a/target/linux/ipq40xx/base-files/etc/board.d/02_network
|
||||||
|
+++ b/target/linux/ipq40xx/base-files/etc/board.d/02_network
|
||||||
|
@@ -15,6 +15,7 @@ ipq40xx_setup_interfaces()
|
||||||
|
8dev,habanero-dvk|\
|
||||||
|
8dev,jalapeno|\
|
||||||
|
alfa-network,ap120c-ac|\
|
||||||
|
+ edgecore,spw2ac1200-lan-poe |\
|
||||||
|
engenius,emr3500|\
|
||||||
|
engenius,ens620ext|\
|
||||||
|
luma,wrtq-329acn|\
|
||||||
|
diff --git a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
|
||||||
|
index 97dd1b4039..e36821a596 100644
|
||||||
|
--- a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
|
||||||
|
+++ b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
|
||||||
|
@@ -105,6 +105,7 @@ case "$FIRMWARE" in
|
||||||
|
compex,wpj428 |\
|
||||||
|
edgecore,ecw5211 |\
|
||||||
|
edgecore,spw2ac1200 |\
|
||||||
|
+ edgecore,spw2ac1200-lan-poe |\
|
||||||
|
edgecore,oap100 |\
|
||||||
|
engenius,eap1300 |\
|
||||||
|
engenius,eap2200 |\
|
||||||
|
@@ -226,6 +227,7 @@ case "$FIRMWARE" in
|
||||||
|
compex,wpj428 |\
|
||||||
|
edgecore,ecw5211 |\
|
||||||
|
edgecore,spw2ac1200 |\
|
||||||
|
+ edgecore,spw2ac1200-lan-poe |\
|
||||||
|
edgecore,oap100 |\
|
||||||
|
engenius,eap1300 |\
|
||||||
|
engenius,eap2200 |\
|
||||||
|
diff --git a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh
|
||||||
|
index 806b3edb66..d44a57c62a 100644
|
||||||
|
--- a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh
|
||||||
|
+++ b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh
|
||||||
|
@@ -90,7 +90,8 @@ platform_do_upgrade() {
|
||||||
|
fi
|
||||||
|
nand_do_upgrade "$1"
|
||||||
|
;;
|
||||||
|
- edgecore,spw2ac1200)
|
||||||
|
+ edgecore,spw2ac1200|\
|
||||||
|
+ edgecore,spw2ac1200-lan-poe)
|
||||||
|
CI_UBIPART="$(awk -F 'ubi.mtd=' '{printf $2}' /proc/cmdline | sed -e 's/ .*$//')"
|
||||||
|
nand_do_upgrade "$1"
|
||||||
|
;;
|
||||||
|
diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-spw2ac1200-lan-poe.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-spw2ac1200-lan-poe.dts
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000000..1c2a2a8621
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-spw2ac1200-lan-poe.dts
|
||||||
|
@@ -0,0 +1,6 @@
|
||||||
|
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||||
|
+
|
||||||
|
+#include "qcom-ipq4018-spw2ac1200.dts"
|
||||||
|
+/ {
|
||||||
|
+ compatible = "edgecore,spw2ac1200-lan-poe";
|
||||||
|
+};
|
||||||
|
diff --git a/target/linux/ipq40xx/image/generic.mk b/target/linux/ipq40xx/image/generic.mk
|
||||||
|
index ae1e2e49cf..7e6118e61c 100644
|
||||||
|
--- a/target/linux/ipq40xx/image/generic.mk
|
||||||
|
+++ b/target/linux/ipq40xx/image/generic.mk
|
||||||
|
@@ -387,6 +387,19 @@ define Device/edgecore_spw2ac1200
|
||||||
|
endef
|
||||||
|
TARGET_DEVICES += edgecore_spw2ac1200
|
||||||
|
|
||||||
|
+define Device/edgecore_spw2ac1200-lan-poe
|
||||||
|
+ $(call Device/FitImage)
|
||||||
|
+ $(call Device/UbiFit)
|
||||||
|
+ DEVICE_VENDOR := Edgecore
|
||||||
|
+ DEVICE_MODEL := SPW2AC1200
|
||||||
|
+ SOC := qcom-ipq4018
|
||||||
|
+ BLOCKSIZE := 128k
|
||||||
|
+ PAGESIZE := 2048
|
||||||
|
+ DEVICE_DTS_CONFIG := config@ap.dk01.1-c2
|
||||||
|
+ DEVICE_PACKAGES := kmod-tpm-i2c-atmel kmod-usb-acm uboot-envtools kmod-usb-net kmod-usb-net-cdc-qmi uqmi
|
||||||
|
+endef
|
||||||
|
+TARGET_DEVICES += edgecore_spw2ac1200-lan-poe
|
||||||
|
+
|
||||||
|
define Device/edgecore_oap100
|
||||||
|
$(call Device/FitImage)
|
||||||
|
$(call Device/UbiFit)
|
||||||
|
diff --git a/target/linux/ipq40xx/patches-5.4/901-arm-boot-add-dts-files.patch b/target/linux/ipq40xx/patches-5.4/901-arm-boot-add-dts-files.patch
|
||||||
|
index 826e17b0e9..c4ecf62313 100644
|
||||||
|
--- a/target/linux/ipq40xx/patches-5.4/901-arm-boot-add-dts-files.patch
|
||||||
|
+++ b/target/linux/ipq40xx/patches-5.4/901-arm-boot-add-dts-files.patch
|
||||||
|
@@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
|
|
||||||
|
--- a/arch/arm/boot/dts/Makefile
|
||||||
|
+++ b/arch/arm/boot/dts/Makefile
|
||||||
|
-@@ -837,11 +837,63 @@ dtb-$(CONFIG_ARCH_QCOM) += \
|
||||||
|
+@@ -837,11 +837,64 @@ dtb-$(CONFIG_ARCH_QCOM) += \
|
||||||
|
qcom-apq8074-dragonboard.dtb \
|
||||||
|
qcom-apq8084-ifc6540.dtb \
|
||||||
|
qcom-apq8084-mtp.dtb \
|
||||||
|
@@ -23,6 +23,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
|
+ qcom-ipq4018-eap1300.dtb \
|
||||||
|
+ qcom-ipq4018-ecw5211.dtb \
|
||||||
|
+ qcom-ipq4018-spw2ac1200.dtb \
|
||||||
|
++ qcom-ipq4018-spw2ac1200-lan-poe.dtb \
|
||||||
|
+ qcom-ipq4018-emd1.dtb \
|
||||||
|
+ qcom-ipq4018-emr3500.dtb \
|
||||||
|
+ qcom-ipq4018-ens620ext.dtb \
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
||||||
@@ -1,135 +1,20 @@
|
|||||||
From c1670dcdda1ab0f5310f76e5ae6e710bd16892c7 Mon Sep 17 00:00:00 2001
|
From 1749748819caa03e249e8a5df1311498550cbd3b Mon Sep 17 00:00:00 2001
|
||||||
From: John Crispin <john@phrozen.org>
|
From: John Crispin <john@phrozen.org>
|
||||||
Date: Sat, 18 Jul 2020 08:53:44 +0200
|
Date: Sat, 18 Jul 2020 08:53:44 +0200
|
||||||
Subject: [PATCH 01/38] ipq807x: add the Qualcomm AX target support
|
Subject: [PATCH 68/83] ipq807x: add the Qualcomm AX target support
|
||||||
|
|
||||||
Signed-off-by: John Crispin <john@phrozen.org>
|
Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
---
|
---
|
||||||
config/Config-kernel.in | 9 +
|
config/Config-kernel.in | 9 ++++++
|
||||||
include/image.mk | 6 +-
|
include/image.mk | 6 +++-
|
||||||
include/kernel-version.mk | 2 +-
|
include/kernel-version.mk | 2 +-
|
||||||
package/boot/uboot-envtools/files/ipq807x | 37 +
|
package/boot/uboot-envtools/files/ipq807x | 37 +++++++++++++++++++++++
|
||||||
.../etc/hotplug.d/firmware/11-ath10k-caldata | 5 +
|
toolchain/kernel-headers/Makefile | 8 +++++
|
||||||
target/linux/ipq807x/109-logspam.patch | 24 +
|
5 files changed, 60 insertions(+), 2 deletions(-)
|
||||||
target/linux/ipq807x/Makefile | 22 +
|
|
||||||
.../ipq807x/base-files/etc/board.d/01_leds | 38 +
|
|
||||||
.../ipq807x/base-files/etc/board.d/02_network | 81 +
|
|
||||||
.../ipq807x/base-files/etc/board.d/03_wifi | 17 +
|
|
||||||
.../etc/hotplug.d/firmware/10-ath11k-caldata | 111 +
|
|
||||||
.../etc/hotplug.d/firmware/11-ath10k-caldata | 16 +
|
|
||||||
.../ipq807x/base-files/etc/hotplug.d/net/macs | 3 +
|
|
||||||
.../ipq807x/base-files/etc/init.d/aq_phy | 21 +
|
|
||||||
.../ipq807x/base-files/etc/init.d/bootcount | 12 +
|
|
||||||
.../linux/ipq807x/base-files/etc/init.d/wdt | 14 +
|
|
||||||
...G4_v5.4.B-AQR_CIG_WIFI_ID44715_VER1673.cld | Bin 0 -> 391170 bytes
|
|
||||||
.../base-files/lib/upgrade/platform.sh | 73 +
|
|
||||||
target/linux/ipq807x/config-4.4 | 828 +
|
|
||||||
.../arm/boot/dts/qcom-ipq6018-cig-wf188.dts | 18 +
|
|
||||||
.../arm/boot/dts/qcom-ipq6018-cig-wf188n.dts | 18 +
|
|
||||||
.../boot/dts/qcom-ipq6018-edgecore-eap101.dts | 18 +
|
|
||||||
.../boot/dts/qcom-ipq6018-miwifi-ax1800.dts | 18 +
|
|
||||||
.../boot/dts/qcom-ipq6018-wallys-dr6018.dts | 18 +
|
|
||||||
.../arch/arm/boot/dts/qcom-ipq807x-eap102.dts | 26 +
|
|
||||||
.../arch/arm/boot/dts/qcom-ipq807x-eap106.dts | 26 +
|
|
||||||
.../arch/arm/boot/dts/qcom-ipq807x-ex227.dts | 26 +
|
|
||||||
.../arch/arm/boot/dts/qcom-ipq807x-ex447.dts | 26 +
|
|
||||||
.../boot/dts/qcom-ipq807x-sercomm-wallaby.dts | 26 +
|
|
||||||
.../arch/arm/boot/dts/qcom-ipq807x-wf194c.dts | 26 +
|
|
||||||
.../arm/boot/dts/qcom-ipq807x-wf194c4.dts | 26 +
|
|
||||||
.../dts/qcom/qcom-ipq6018-miwifi-ax1800.dts | 419 +
|
|
||||||
.../dts/qcom/qcom-ipq6018-wallys-dr6018.dts | 441 +
|
|
||||||
.../boot/dts/qcom/qcom-ipq807x-eap102.dts | 918 +
|
|
||||||
.../boot/dts/qcom/qcom-ipq807x-wf194c4.dts | 942 +
|
|
||||||
target/linux/ipq807x/image/Makefile | 26 +
|
|
||||||
target/linux/ipq807x/image/ipq50xx.mk | 10 +
|
|
||||||
target/linux/ipq807x/image/ipq60xx.mk | 56 +
|
|
||||||
target/linux/ipq807x/image/ipq807x.mk | 90 +
|
|
||||||
target/linux/ipq807x/ipq50xx/config-default | 84 +
|
|
||||||
target/linux/ipq807x/ipq50xx/config-lowmem | 73 +
|
|
||||||
target/linux/ipq807x/ipq50xx/target.mk | 10 +
|
|
||||||
target/linux/ipq807x/ipq60xx/config-default | 122 +
|
|
||||||
.../linux/ipq807x/ipq60xx/profiles/default.mk | 9 +
|
|
||||||
target/linux/ipq807x/ipq60xx/target.mk | 8 +
|
|
||||||
target/linux/ipq807x/ipq807x/config-default | 78 +
|
|
||||||
.../linux/ipq807x/ipq807x/profiles/default.mk | 9 +
|
|
||||||
target/linux/ipq807x/ipq807x/target.mk | 7 +
|
|
||||||
target/linux/ipq807x/modules.mk | 61 +
|
|
||||||
.../linux/ipq807x/patches/100-qrtr-ns.patch | 976 +
|
|
||||||
.../linux/ipq807x/patches/101-squashfs.patch | 16 +
|
|
||||||
.../linux/ipq807x/patches/102-cig-wf188.patch | 869 +
|
|
||||||
.../ipq807x/patches/103-sercomm-wallaby.patch | 816 +
|
|
||||||
target/linux/ipq807x/patches/104-wf194c.patch | 816 +
|
|
||||||
.../patches/105-fix-dtc-gcc10-build.patch | 11 +
|
|
||||||
target/linux/ipq807x/patches/106-eap101.patch | 993 +
|
|
||||||
.../linux/ipq807x/patches/108-log-spam.patch | 37 +
|
|
||||||
target/linux/ipq807x/patches/109-tplink.patch | 1518 +
|
|
||||||
.../ipq807x/patches/110-add-esmt-nand.patch | 37 +
|
|
||||||
target/linux/ipq807x/patches/111-eap106.patch | 765 +
|
|
||||||
target/linux/ipq807x/patches/112-pstore.patch | 147 +
|
|
||||||
.../ipq807x/patches/200-bpf_backport.patch | 44780 ++++++++++++++++
|
|
||||||
toolchain/kernel-headers/Makefile | 8 +
|
|
||||||
63 files changed, 56741 insertions(+), 2 deletions(-)
|
|
||||||
create mode 100644 package/boot/uboot-envtools/files/ipq807x
|
create mode 100644 package/boot/uboot-envtools/files/ipq807x
|
||||||
create mode 100644 target/linux/ipq807x/109-logspam.patch
|
|
||||||
create mode 100644 target/linux/ipq807x/Makefile
|
|
||||||
create mode 100755 target/linux/ipq807x/base-files/etc/board.d/01_leds
|
|
||||||
create mode 100755 target/linux/ipq807x/base-files/etc/board.d/02_network
|
|
||||||
create mode 100755 target/linux/ipq807x/base-files/etc/board.d/03_wifi
|
|
||||||
create mode 100755 target/linux/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata
|
|
||||||
create mode 100644 target/linux/ipq807x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
|
|
||||||
create mode 100644 target/linux/ipq807x/base-files/etc/hotplug.d/net/macs
|
|
||||||
create mode 100755 target/linux/ipq807x/base-files/etc/init.d/aq_phy
|
|
||||||
create mode 100755 target/linux/ipq807x/base-files/etc/init.d/bootcount
|
|
||||||
create mode 100755 target/linux/ipq807x/base-files/etc/init.d/wdt
|
|
||||||
create mode 100644 target/linux/ipq807x/base-files/lib/firmware/AQR-G4_v5.4.B-AQR_CIG_WIFI_ID44715_VER1673.cld
|
|
||||||
create mode 100755 target/linux/ipq807x/base-files/lib/upgrade/platform.sh
|
|
||||||
create mode 100644 target/linux/ipq807x/config-4.4
|
|
||||||
create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq6018-cig-wf188.dts
|
|
||||||
create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq6018-cig-wf188n.dts
|
|
||||||
create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq6018-edgecore-eap101.dts
|
|
||||||
create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq6018-miwifi-ax1800.dts
|
|
||||||
create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq6018-wallys-dr6018.dts
|
|
||||||
create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-eap102.dts
|
|
||||||
create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-eap106.dts
|
|
||||||
create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-ex227.dts
|
|
||||||
create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-ex447.dts
|
|
||||||
create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-sercomm-wallaby.dts
|
|
||||||
create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-wf194c.dts
|
|
||||||
create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-wf194c4.dts
|
|
||||||
create mode 100755 target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq6018-miwifi-ax1800.dts
|
|
||||||
create mode 100755 target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq6018-wallys-dr6018.dts
|
|
||||||
create mode 100755 target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq807x-eap102.dts
|
|
||||||
create mode 100644 target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq807x-wf194c4.dts
|
|
||||||
create mode 100644 target/linux/ipq807x/image/Makefile
|
|
||||||
create mode 100644 target/linux/ipq807x/image/ipq50xx.mk
|
|
||||||
create mode 100644 target/linux/ipq807x/image/ipq60xx.mk
|
|
||||||
create mode 100644 target/linux/ipq807x/image/ipq807x.mk
|
|
||||||
create mode 100644 target/linux/ipq807x/ipq50xx/config-default
|
|
||||||
create mode 100644 target/linux/ipq807x/ipq50xx/config-lowmem
|
|
||||||
create mode 100644 target/linux/ipq807x/ipq50xx/target.mk
|
|
||||||
create mode 100644 target/linux/ipq807x/ipq60xx/config-default
|
|
||||||
create mode 100644 target/linux/ipq807x/ipq60xx/profiles/default.mk
|
|
||||||
create mode 100644 target/linux/ipq807x/ipq60xx/target.mk
|
|
||||||
create mode 100644 target/linux/ipq807x/ipq807x/config-default
|
|
||||||
create mode 100644 target/linux/ipq807x/ipq807x/profiles/default.mk
|
|
||||||
create mode 100644 target/linux/ipq807x/ipq807x/target.mk
|
|
||||||
create mode 100644 target/linux/ipq807x/modules.mk
|
|
||||||
create mode 100644 target/linux/ipq807x/patches/100-qrtr-ns.patch
|
|
||||||
create mode 100644 target/linux/ipq807x/patches/101-squashfs.patch
|
|
||||||
create mode 100644 target/linux/ipq807x/patches/102-cig-wf188.patch
|
|
||||||
create mode 100644 target/linux/ipq807x/patches/103-sercomm-wallaby.patch
|
|
||||||
create mode 100644 target/linux/ipq807x/patches/104-wf194c.patch
|
|
||||||
create mode 100644 target/linux/ipq807x/patches/105-fix-dtc-gcc10-build.patch
|
|
||||||
create mode 100644 target/linux/ipq807x/patches/106-eap101.patch
|
|
||||||
create mode 100644 target/linux/ipq807x/patches/108-log-spam.patch
|
|
||||||
create mode 100644 target/linux/ipq807x/patches/109-tplink.patch
|
|
||||||
create mode 100644 target/linux/ipq807x/patches/110-add-esmt-nand.patch
|
|
||||||
create mode 100644 target/linux/ipq807x/patches/111-eap106.patch
|
|
||||||
create mode 100644 target/linux/ipq807x/patches/112-pstore.patch
|
|
||||||
create mode 100644 target/linux/ipq807x/patches/200-bpf_backport.patch
|
|
||||||
|
|
||||||
diff --git a/config/Config-kernel.in b/config/Config-kernel.in
|
diff --git a/config/Config-kernel.in b/config/Config-kernel.in
|
||||||
index f71114b5da..4a85d83118 100644
|
index d4648a5064..2d5c9f1437 100644
|
||||||
--- a/config/Config-kernel.in
|
--- a/config/Config-kernel.in
|
||||||
+++ b/config/Config-kernel.in
|
+++ b/config/Config-kernel.in
|
||||||
@@ -2,6 +2,15 @@
|
@@ -2,6 +2,15 @@
|
||||||
@@ -173,17 +58,17 @@ index 6fc02a3f6b..92b23321b1 100644
|
|||||||
$(LINUX_DIR)/scripts/dtc/dtc -O dtb \
|
$(LINUX_DIR)/scripts/dtc/dtc -O dtb \
|
||||||
-i$(dir $(1)) $(DTC_FLAGS) $(4) \
|
-i$(dir $(1)) $(DTC_FLAGS) $(4) \
|
||||||
diff --git a/include/kernel-version.mk b/include/kernel-version.mk
|
diff --git a/include/kernel-version.mk b/include/kernel-version.mk
|
||||||
index 3c109c13c8..dff01895be 100644
|
index c7aba61cd7..efecf2f919 100644
|
||||||
--- a/include/kernel-version.mk
|
--- a/include/kernel-version.mk
|
||||||
+++ b/include/kernel-version.mk
|
+++ b/include/kernel-version.mk
|
||||||
@@ -11,7 +11,7 @@ LINUX_VERSION-4.14 = .193
|
@@ -11,7 +11,7 @@ LINUX_VERSION-4.14 = .193
|
||||||
LINUX_VERSION-5.4 = .142
|
LINUX_VERSION-5.4 = .158
|
||||||
LINUX_VERSION-5.10 = .27
|
LINUX_VERSION-5.10 = .27
|
||||||
|
|
||||||
-LINUX_KERNEL_HASH-4.4.60 = 2cd8df6f1ac6a5329c5a286ec9b5956215977221a1b731597ed169fff74a9659
|
-LINUX_KERNEL_HASH-4.4.60 = 2cd8df6f1ac6a5329c5a286ec9b5956215977221a1b731597ed169fff74a9659
|
||||||
+LINUX_KERNEL_HASH-4.4.60 = e7f2f47acf17497d6ffd713eda65c025b3df0bce09faa8c04712bf1b3cfc9fdb
|
+LINUX_KERNEL_HASH-4.4.60 = e7f2f47acf17497d6ffd713eda65c025b3df0bce09faa8c04712bf1b3cfc9fdb
|
||||||
LINUX_KERNEL_HASH-4.14.193 = 0b0fb41d4430e1a42738b341cbfd2f41951aa5cd02acabbd53f076119c8b9f03
|
LINUX_KERNEL_HASH-4.14.193 = 0b0fb41d4430e1a42738b341cbfd2f41951aa5cd02acabbd53f076119c8b9f03
|
||||||
LINUX_KERNEL_HASH-5.4.142 = 99785728968564ba27c7e552d024b560072dcbc885540912eabb5c021e231451
|
LINUX_KERNEL_HASH-5.4.158 = 6e018fecdc8fc24553756e582d83b82d65b10a6b03ef36262a24911f839b8d59
|
||||||
LINUX_KERNEL_HASH-5.10.27 = d99dc9662951299c53a0a8d8c8d0a72a16ff861d20e927c0f9b14f63282d69d9
|
LINUX_KERNEL_HASH-5.10.27 = d99dc9662951299c53a0a8d8c8d0a72a16ff861d20e927c0f9b14f63282d69d9
|
||||||
diff --git a/package/boot/uboot-envtools/files/ipq807x b/package/boot/uboot-envtools/files/ipq807x
|
diff --git a/package/boot/uboot-envtools/files/ipq807x b/package/boot/uboot-envtools/files/ipq807x
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
|
|||||||
@@ -11,39 +11,6 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
|||||||
.../linux/ramips/dts/mt7628an_tplink_8m-split-uboot.dtsi | 7 ++++++-
|
.../linux/ramips/dts/mt7628an_tplink_8m-split-uboot.dtsi | 7 ++++++-
|
||||||
3 files changed, 13 insertions(+), 4 deletions(-)
|
3 files changed, 13 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/target/linux/ath79/dts/qca9563_tplink_cpe710-v1.dts b/target/linux/ath79/dts/qca9563_tplink_cpe710-v1.dts
|
|
||||||
index 830c3d30b8..71c6381f86 100644
|
|
||||||
--- a/target/linux/ath79/dts/qca9563_tplink_cpe710-v1.dts
|
|
||||||
+++ b/target/linux/ath79/dts/qca9563_tplink_cpe710-v1.dts
|
|
||||||
@@ -86,7 +86,12 @@
|
|
||||||
partition@70000 {
|
|
||||||
compatible = "denx,uimage";
|
|
||||||
label = "firmware";
|
|
||||||
- reg = <0x070000 0xf50000>;
|
|
||||||
+ reg = <0x070000 0xf40000>;
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ partition@fb0000 {
|
|
||||||
+ label = "certificates";
|
|
||||||
+ reg = <0xfb0000 0x10000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
partition@fc0000 {
|
|
||||||
diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-xx8300.dtsi b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-xx8300.dtsi
|
|
||||||
index 8f971e505c..0f1f083a5b 100644
|
|
||||||
--- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-xx8300.dtsi
|
|
||||||
+++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-xx8300.dtsi
|
|
||||||
@@ -229,9 +229,8 @@
|
|
||||||
};
|
|
||||||
|
|
||||||
partition@b880000 {
|
|
||||||
- label = "syscfg";
|
|
||||||
+ label = "certificates";
|
|
||||||
reg = <0xb880000 0x4680000>;
|
|
||||||
- read-only;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
diff --git a/target/linux/ramips/dts/mt7628an_tplink_8m-split-uboot.dtsi b/target/linux/ramips/dts/mt7628an_tplink_8m-split-uboot.dtsi
|
diff --git a/target/linux/ramips/dts/mt7628an_tplink_8m-split-uboot.dtsi b/target/linux/ramips/dts/mt7628an_tplink_8m-split-uboot.dtsi
|
||||||
index b6ce7b1f56..471be72001 100644
|
index b6ce7b1f56..471be72001 100644
|
||||||
--- a/target/linux/ramips/dts/mt7628an_tplink_8m-split-uboot.dtsi
|
--- a/target/linux/ramips/dts/mt7628an_tplink_8m-split-uboot.dtsi
|
||||||
|
|||||||
@@ -1,30 +0,0 @@
|
|||||||
From ed5a8958378d84bba92a70f2a56a962be73c4b3b Mon Sep 17 00:00:00 2001
|
|
||||||
From: John Crispin <john@phrozen.org>
|
|
||||||
Date: Fri, 23 Apr 2021 16:16:31 +0200
|
|
||||||
Subject: [PATCH 30/43] ath10k-ct: update the driver
|
|
||||||
|
|
||||||
Signed-off-by: John Crispin <john@phrozen.org>
|
|
||||||
---
|
|
||||||
package/kernel/ath10k-ct/Makefile | 6 +++---
|
|
||||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/package/kernel/ath10k-ct/Makefile b/package/kernel/ath10k-ct/Makefile
|
|
||||||
index 5681c5c2cd..24e0702e2c 100644
|
|
||||||
--- a/package/kernel/ath10k-ct/Makefile
|
|
||||||
+++ b/package/kernel/ath10k-ct/Makefile
|
|
||||||
@@ -8,9 +8,9 @@ PKG_LICENSE_FILES:=
|
|
||||||
|
|
||||||
PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git
|
|
||||||
PKG_SOURCE_PROTO:=git
|
|
||||||
-PKG_SOURCE_DATE:=2021-06-03
|
|
||||||
-PKG_SOURCE_VERSION:=b44cd7b2e7b0df5995ece18f358d4dfc40834ba1
|
|
||||||
-PKG_MIRROR_HASH:=59f961ad425eb1a48fa9c391a325cc0f23845daec9d12673445d3077f9756cf0
|
|
||||||
+PKG_SOURCE_DATE:=2021-04-23
|
|
||||||
+PKG_SOURCE_VERSION:=8eca56d1514042b4af34004e0bbf69e40351d499
|
|
||||||
+PKG_MIRROR_HASH:=4ce22470b0cd15cc3cb04478678407e976c48010baab517fa1ac37685b791d95
|
|
||||||
|
|
||||||
# Build the 5.10 ath10k-ct driver version.
|
|
||||||
# Probably this should match as closely as
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
|
|
||||||
@@ -1,60 +0,0 @@
|
|||||||
From 7d1503f1fb878bf27aa1bfa15d81394eaf8888d0 Mon Sep 17 00:00:00 2001
|
|
||||||
From: John Crispin <john@phrozen.org>
|
|
||||||
Date: Mon, 13 Sep 2021 13:42:00 +0200
|
|
||||||
Subject: [PATCH] mac80211: fix builds on ath79 targets
|
|
||||||
|
|
||||||
Signed-off-by: John Crispin <john@phrozen.org>
|
|
||||||
---
|
|
||||||
.../100-backport_of_get_mac_address.patch | 40 +++++++++++++++++++
|
|
||||||
1 file changed, 40 insertions(+)
|
|
||||||
create mode 100644 package/kernel/mac80211/patches/build/100-backport_of_get_mac_address.patch
|
|
||||||
|
|
||||||
diff --git a/package/kernel/mac80211/patches/build/100-backport_of_get_mac_address.patch b/package/kernel/mac80211/patches/build/100-backport_of_get_mac_address.patch
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000..79c2343522
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/package/kernel/mac80211/patches/build/100-backport_of_get_mac_address.patch
|
|
||||||
@@ -0,0 +1,40 @@
|
|
||||||
+--- a/backport-include/linux/of_net.h
|
|
||||||
++++ b/backport-include/linux/of_net.h
|
|
||||||
+@@ -2,6 +2,7 @@
|
|
||||||
+ #define _BP_OF_NET_H
|
|
||||||
+ #include_next <linux/of_net.h>
|
|
||||||
+ #include <linux/version.h>
|
|
||||||
++#include <linux/etherdevice.h>
|
|
||||||
+
|
|
||||||
+ #ifndef CONFIG_OF
|
|
||||||
+ #if LINUX_VERSION_IS_LESS(3,10,0)
|
|
||||||
+@@ -12,18 +13,23 @@ static inline const void *of_get_mac_add
|
|
||||||
+ #endif
|
|
||||||
+ #endif
|
|
||||||
+
|
|
||||||
+-/* The behavior of of_get_mac_address() changed in kernel 5.2, it now
|
|
||||||
+- * returns an error code and not NULL in case of an error.
|
|
||||||
++/* The behavior of of_get_mac_address() changed in kernel 5.15, it now
|
|
||||||
++ * accepts an argument with the destination buffer to copy the address to
|
|
||||||
+ */
|
|
||||||
+-#if LINUX_VERSION_IS_LESS(5,2,0)
|
|
||||||
+-static inline const void *backport_of_get_mac_address(struct device_node *np)
|
|
||||||
++#if LINUX_VERSION_IS_LESS(5,15,0)
|
|
||||||
++static inline int backport_of_get_mac_address(struct device_node *np, u8 *addr)
|
|
||||||
+ {
|
|
||||||
+ const void *mac = of_get_mac_address(np);
|
|
||||||
+
|
|
||||||
++ if (IS_ERR(mac))
|
|
||||||
++ return PTR_ERR(mac);
|
|
||||||
++
|
|
||||||
+ if (!mac)
|
|
||||||
+- return ERR_PTR(-ENODEV);
|
|
||||||
++ return -ENODEV;
|
|
||||||
++
|
|
||||||
++ memcpy(addr, mac, ETH_ALEN);
|
|
||||||
+
|
|
||||||
+- return mac;
|
|
||||||
++ return 0;
|
|
||||||
+ }
|
|
||||||
+ #define of_get_mac_address LINUX_BACKPORT(of_get_mac_address)
|
|
||||||
+ #endif /* < 5.2 */
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
|
|
||||||
@@ -1,91 +0,0 @@
|
|||||||
From bbd31470429134c23f593a49c02d5413dcba352f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mark Mentovai <mark@moxienet.com>
|
|
||||||
Date: Tue, 23 Nov 2021 12:28:55 -0500
|
|
||||||
Subject: [PATCH] hostapd: allow hostapd under ujail to communicate with
|
|
||||||
hostapd_cli
|
|
||||||
|
|
||||||
When procd-ujail is available, 1f785383875a runs hostapd as user
|
|
||||||
"network", with only limited additional capabilities (CAP_NET_ADMIN and
|
|
||||||
CAP_NET_RAW).
|
|
||||||
|
|
||||||
hostapd_cli (CONFIG_PACKAGE_hostapd-utils) communicates with hostapd
|
|
||||||
over a named UNIX-domain socket. hostapd_cli is responsible for creating
|
|
||||||
this socket at /tmp/wpa_ctrl_$pid_$counter. Since it typically runs as
|
|
||||||
root, this endpoint is normally created with uid root, gid root, mode
|
|
||||||
0755. As a result, hostapd running as uid network is able to receive
|
|
||||||
control messages sent through this interface, but is not able to respond
|
|
||||||
to them. If debug-level logging is enabled (CONFIG_WPA_MSG_MIN_PRIORITY
|
|
||||||
<= 2 at build, and log_level <= 2 in /etc/config/wireless wifi-device),
|
|
||||||
this message will appear from hostapd:
|
|
||||||
|
|
||||||
CTRL: sendto failed: Permission denied
|
|
||||||
|
|
||||||
As a fix, hostapd_cli should create the socket node in the filesystem
|
|
||||||
with uid network, gid network, mode 0770. This borrows the presently
|
|
||||||
Android-only strategy already in hostapd intended to solve the same
|
|
||||||
problem on Android.
|
|
||||||
|
|
||||||
If procd-ujail is not available and hostapd falls back to running as
|
|
||||||
root, it will still be able to read from and write to the socket even if
|
|
||||||
the node in the filesystem has been restricted to the network user and
|
|
||||||
group. This matches the logic in
|
|
||||||
package/network/services/hostapd/files/wpad.init, which sets the uid and
|
|
||||||
gid of /var/run/hostapd to network regardless of whether procd-ujail is
|
|
||||||
available.
|
|
||||||
|
|
||||||
As it appears that the "network" user and group are statically allocated
|
|
||||||
uid 101 and gid 101, respectively, per
|
|
||||||
package/base-files/files/etc/passwd and USERID in
|
|
||||||
package/network/services/hostapd/Makefile, this patch also uses a
|
|
||||||
constant 101 for the uid and gid.
|
|
||||||
|
|
||||||
Signed-off-by: Mark Mentovai <mark@moxienet.com>
|
|
||||||
[refreshed patch]
|
|
||||||
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
|
||||||
---
|
|
||||||
.../610-hostapd_cli_ujail_permission.patch | 33 +++++++++++++++++++
|
|
||||||
1 file changed, 33 insertions(+)
|
|
||||||
create mode 100644 package/network/services/hostapd/patches/610-hostapd_cli_ujail_permission.patch
|
|
||||||
|
|
||||||
diff --git a/package/network/services/hostapd/patches/610-hostapd_cli_ujail_permission.patch b/package/network/services/hostapd/patches/610-hostapd_cli_ujail_permission.patch
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000..a03fcc9f92
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/package/network/services/hostapd/patches/610-hostapd_cli_ujail_permission.patch
|
|
||||||
@@ -0,0 +1,33 @@
|
|
||||||
+--- a/src/common/wpa_ctrl.c
|
|
||||||
++++ b/src/common/wpa_ctrl.c
|
|
||||||
+@@ -135,7 +135,7 @@ try_again:
|
|
||||||
+ return NULL;
|
|
||||||
+ }
|
|
||||||
+ tries++;
|
|
||||||
+-#ifdef ANDROID
|
|
||||||
++
|
|
||||||
+ /* Set client socket file permissions so that bind() creates the client
|
|
||||||
+ * socket with these permissions and there is no need to try to change
|
|
||||||
+ * them with chmod() after bind() which would have potential issues with
|
|
||||||
+@@ -147,7 +147,7 @@ try_again:
|
|
||||||
+ * operations to allow the response to go through. Those are using the
|
|
||||||
+ * no-deference-symlinks version to avoid races. */
|
|
||||||
+ fchmod(ctrl->s, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP);
|
|
||||||
+-#endif /* ANDROID */
|
|
||||||
++
|
|
||||||
+ if (bind(ctrl->s, (struct sockaddr *) &ctrl->local,
|
|
||||||
+ sizeof(ctrl->local)) < 0) {
|
|
||||||
+ if (errno == EADDRINUSE && tries < 2) {
|
|
||||||
+@@ -165,7 +165,11 @@ try_again:
|
|
||||||
+ return NULL;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+-#ifdef ANDROID
|
|
||||||
++#ifndef ANDROID
|
|
||||||
++ /* Set group even if we do not have privileges to change owner */
|
|
||||||
++ lchown(ctrl->local.sun_path, -1, 101);
|
|
||||||
++ lchown(ctrl->local.sun_path, 101, 101);
|
|
||||||
++#else
|
|
||||||
+ /* Set group even if we do not have privileges to change owner */
|
|
||||||
+ lchown(ctrl->local.sun_path, -1, AID_WIFI);
|
|
||||||
+ lchown(ctrl->local.sun_path, AID_SYSTEM, AID_WIFI);
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
From 07b199d0759992a17a2ef42b75776635c7e57d21 Mon Sep 17 00:00:00 2001
|
From d692bfd33a8169b47dcf200fcfd238cdbc4a4084 Mon Sep 17 00:00:00 2001
|
||||||
From: John Crispin <john@phrozen.org>
|
From: John Crispin <john@phrozen.org>
|
||||||
Date: Sun, 2 Jan 2022 09:56:17 +0100
|
Date: Sun, 2 Jan 2022 09:56:17 +0100
|
||||||
Subject: [PATCH] rtkmipsel: add kernel-version
|
Subject: [PATCH 70/83] rtkmipsel: add kernel-version
|
||||||
|
|
||||||
Signed-off-by: John Crispin <john@phrozen.org>
|
Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
---
|
---
|
||||||
@@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
|||||||
2 files changed, 3 insertions(+), 1 deletion(-)
|
2 files changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/include/kernel-version.mk b/include/kernel-version.mk
|
diff --git a/include/kernel-version.mk b/include/kernel-version.mk
|
||||||
index dff01895be..f5a95af201 100644
|
index efecf2f919..787abfca14 100644
|
||||||
--- a/include/kernel-version.mk
|
--- a/include/kernel-version.mk
|
||||||
+++ b/include/kernel-version.mk
|
+++ b/include/kernel-version.mk
|
||||||
@@ -6,11 +6,13 @@ ifdef CONFIG_TESTING_KERNEL
|
@@ -6,11 +6,13 @@ ifdef CONFIG_TESTING_KERNEL
|
||||||
@@ -20,13 +20,13 @@ index dff01895be..f5a95af201 100644
|
|||||||
+LINUX_VERSION-3.18 = .29
|
+LINUX_VERSION-3.18 = .29
|
||||||
LINUX_VERSION-4.4 = .60
|
LINUX_VERSION-4.4 = .60
|
||||||
LINUX_VERSION-4.14 = .193
|
LINUX_VERSION-4.14 = .193
|
||||||
LINUX_VERSION-5.4 = .142
|
LINUX_VERSION-5.4 = .158
|
||||||
LINUX_VERSION-5.10 = .27
|
LINUX_VERSION-5.10 = .27
|
||||||
|
|
||||||
+LINUX_KERNEL_HASH-3.18.29 = d099072fcbd6aefea8c787c0325eaa56c65b35b15c52579c8a613349bcba425f
|
+LINUX_KERNEL_HASH-3.18.29 = d099072fcbd6aefea8c787c0325eaa56c65b35b15c52579c8a613349bcba425f
|
||||||
LINUX_KERNEL_HASH-4.4.60 = e7f2f47acf17497d6ffd713eda65c025b3df0bce09faa8c04712bf1b3cfc9fdb
|
LINUX_KERNEL_HASH-4.4.60 = e7f2f47acf17497d6ffd713eda65c025b3df0bce09faa8c04712bf1b3cfc9fdb
|
||||||
LINUX_KERNEL_HASH-4.14.193 = 0b0fb41d4430e1a42738b341cbfd2f41951aa5cd02acabbd53f076119c8b9f03
|
LINUX_KERNEL_HASH-4.14.193 = 0b0fb41d4430e1a42738b341cbfd2f41951aa5cd02acabbd53f076119c8b9f03
|
||||||
LINUX_KERNEL_HASH-5.4.142 = 99785728968564ba27c7e552d024b560072dcbc885540912eabb5c021e231451
|
LINUX_KERNEL_HASH-5.4.158 = 6e018fecdc8fc24553756e582d83b82d65b10a6b03ef36262a24911f839b8d59
|
||||||
diff --git a/include/target.mk b/include/target.mk
|
diff --git a/include/target.mk b/include/target.mk
|
||||||
index 691f8fb186..d198d59262 100644
|
index 691f8fb186..d198d59262 100644
|
||||||
--- a/include/target.mk
|
--- a/include/target.mk
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
From 10c568bd0a619a7f497d1450195f5650695cefff Mon Sep 17 00:00:00 2001
|
From 4c86f99b3a97a8f0a9d0c803c322362f7866a620 Mon Sep 17 00:00:00 2001
|
||||||
From: John Crispin <john@phrozen.org>
|
From: John Crispin <john@phrozen.org>
|
||||||
Date: Sun, 2 Jan 2022 10:10:13 +0100
|
Date: Sun, 2 Jan 2022 10:10:13 +0100
|
||||||
Subject: [PATCH 2/2] rtkmipsel: kernel module fixes
|
Subject: [PATCH 74/83] rtkmipsel: kernel module fixes
|
||||||
|
|
||||||
Signed-off-by: John Crispin <john@phrozen.org>
|
Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
---
|
---
|
||||||
|
|||||||
16557
patches/wifi/0001-mac80211-backport-latest-HEAD.patch
Normal file
16557
patches/wifi/0001-mac80211-backport-latest-HEAD.patch
Normal file
File diff suppressed because it is too large
Load Diff
106
patches/wifi/0002-mac80211-pending-fixes.patch
Normal file
106
patches/wifi/0002-mac80211-pending-fixes.patch
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
From 1f1de369b842e8dbf3577d6e8380e57e7810007a Mon Sep 17 00:00:00 2001
|
||||||
|
From: John Crispin <john@phrozen.org>
|
||||||
|
Date: Tue, 4 Jan 2022 06:22:59 +0100
|
||||||
|
Subject: [PATCH 2/4] mac80211: pending fixes
|
||||||
|
|
||||||
|
Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
|
---
|
||||||
|
.../files/lib/netifd/wireless/mac80211.sh | 25 ++++++++++++++-----
|
||||||
|
1 file changed, 19 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
|
||||||
|
index 27eecf3a7f..823cb0180c 100644
|
||||||
|
--- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
|
||||||
|
+++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
|
||||||
|
@@ -29,6 +29,7 @@ drv_mac80211_init_device_config() {
|
||||||
|
config_add_string distance
|
||||||
|
config_add_int beacon_int chanbw frag rts
|
||||||
|
config_add_int rxantenna txantenna antenna_gain txpower
|
||||||
|
+ config_add_int num_global_macaddr
|
||||||
|
config_add_boolean noscan ht_coex acs_exclude_dfs
|
||||||
|
config_add_array ht_capab
|
||||||
|
config_add_array channels
|
||||||
|
@@ -514,6 +515,7 @@ mac80211_get_addr() {
|
||||||
|
|
||||||
|
mac80211_generate_mac() {
|
||||||
|
local phy="$1"
|
||||||
|
+ local multiple_bssid="$2"
|
||||||
|
local id="${macidx:-0}"
|
||||||
|
|
||||||
|
local ref="$(cat /sys/class/ieee80211/${phy}/macaddress)"
|
||||||
|
@@ -537,9 +539,16 @@ mac80211_generate_mac() {
|
||||||
|
local mask6=$6
|
||||||
|
|
||||||
|
local oIFS="$IFS"; IFS=":"; set -- $ref; IFS="$oIFS"
|
||||||
|
-
|
||||||
|
+ [ "$multiple_bssid" -eq 1 ] && {
|
||||||
|
+ printf "02:%s:%s:%s:%s:%02x" $b1 $2 $3 $4 $5 $macidx
|
||||||
|
+ return
|
||||||
|
+ }
|
||||||
|
macidx=$(($id + 1))
|
||||||
|
- [ "$((0x$mask1))" -gt 0 ] && {
|
||||||
|
+
|
||||||
|
+ local use_global=0
|
||||||
|
+ [ "$id" -gt 0 -a "$macidx" -le "$num_global_macaddr" ] && use_global=1
|
||||||
|
+
|
||||||
|
+ [ "$((0x$mask1))" -gt 0 -a "$use_global" -lt 1 ] && {
|
||||||
|
b1="0x$1"
|
||||||
|
[ "$id" -gt 0 ] && \
|
||||||
|
b1=$(($b1 ^ ((($id - !($b1 & 2)) << 2)) | 0x2))
|
||||||
|
@@ -547,7 +556,7 @@ mac80211_generate_mac() {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
- [ "$((0x$mask6))" -lt 255 ] && {
|
||||||
|
+ [ "$((0x$mask6))" -lt 255 -a "$use_global" -gt 0 ] && {
|
||||||
|
printf "%s:%s:%s:%s:%s:%02x" $1 $2 $3 $4 $5 $(( 0x$6 ^ $id ))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
@@ -646,6 +655,7 @@ mac80211_iw_interface_add() {
|
||||||
|
}
|
||||||
|
|
||||||
|
mac80211_prepare_vif() {
|
||||||
|
+ local multiple_bssid=$1
|
||||||
|
json_select config
|
||||||
|
|
||||||
|
json_get_vars ifname mode ssid wds powersave macaddr enable wpa_psk_file vlan_file
|
||||||
|
@@ -659,7 +669,7 @@ mac80211_prepare_vif() {
|
||||||
|
json_select ..
|
||||||
|
|
||||||
|
[ -n "$macaddr" ] || {
|
||||||
|
- macaddr="$(mac80211_generate_mac $phy)"
|
||||||
|
+ macaddr="$(mac80211_generate_mac $phy $multiple_bssid)"
|
||||||
|
macidx="$(($macidx + 1))"
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1028,7 +1038,9 @@ drv_mac80211_setup() {
|
||||||
|
country chanbw distance \
|
||||||
|
txpower antenna_gain \
|
||||||
|
rxantenna txantenna \
|
||||||
|
- frag rts beacon_int:100 htmode
|
||||||
|
+ frag rts beacon_int:100 htmode \
|
||||||
|
+ multiple_bssid:0 \
|
||||||
|
+ num_global_macaddr
|
||||||
|
json_get_values basic_rate_list basic_rate
|
||||||
|
json_get_values scan_list scan_list
|
||||||
|
json_select ..
|
||||||
|
@@ -1090,6 +1102,7 @@ drv_mac80211_setup() {
|
||||||
|
set_default txantenna 0xffffffff
|
||||||
|
set_default distance 0
|
||||||
|
set_default antenna_gain 0
|
||||||
|
+ set_default num_global_macaddr 1
|
||||||
|
|
||||||
|
[ "$txantenna" = "all" ] && txantenna=0xffffffff
|
||||||
|
[ "$rxantenna" = "all" ] && rxantenna=0xffffffff
|
||||||
|
@@ -1121,7 +1134,7 @@ drv_mac80211_setup() {
|
||||||
|
mac80211_prepare_iw_htmode
|
||||||
|
for_each_interface "sta adhoc mesh monitor" mac80211_prepare_vif
|
||||||
|
NEWAPLIST=
|
||||||
|
- for_each_interface "ap" mac80211_prepare_vif
|
||||||
|
+ for_each_interface "ap" mac80211_prepare_vif ${multiple_bssid}
|
||||||
|
NEW_MD5=$(test -e "${hostapd_conf_file}" && md5sum ${hostapd_conf_file})
|
||||||
|
OLD_MD5=$(uci -q -P /var/state get wireless._${phy}.md5)
|
||||||
|
if [ "${NEWAPLIST}" != "${OLDAPLIST}" ]; then
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
170
patches/wifi/0004-hostapd-pending-fixes.patch
Normal file
170
patches/wifi/0004-hostapd-pending-fixes.patch
Normal file
@@ -0,0 +1,170 @@
|
|||||||
|
From 83e8509388c5648dc8217b8f86d0461fade6a8d1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: John Crispin <john@phrozen.org>
|
||||||
|
Date: Tue, 4 Jan 2022 07:01:41 +0100
|
||||||
|
Subject: [PATCH 4/4] hostapd: pending fixes
|
||||||
|
|
||||||
|
Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
|
---
|
||||||
|
.../hostapd/files/hostapd-full.config | 4 +-
|
||||||
|
.../network/services/hostapd/files/hostapd.sh | 45 +++++++++++++------
|
||||||
|
2 files changed, 33 insertions(+), 16 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/package/network/services/hostapd/files/hostapd-full.config b/package/network/services/hostapd/files/hostapd-full.config
|
||||||
|
index dbc2022550..38a29143d5 100644
|
||||||
|
--- a/package/network/services/hostapd/files/hostapd-full.config
|
||||||
|
+++ b/package/network/services/hostapd/files/hostapd-full.config
|
||||||
|
@@ -94,10 +94,10 @@ CONFIG_EAP_TTLS=y
|
||||||
|
#CONFIG_EAP_PAX=y
|
||||||
|
|
||||||
|
# EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK)
|
||||||
|
-#CONFIG_EAP_PSK=y
|
||||||
|
+CONFIG_EAP_PSK=y
|
||||||
|
|
||||||
|
# EAP-pwd for the integrated EAP server (secure authentication with a password)
|
||||||
|
-#CONFIG_EAP_PWD=y
|
||||||
|
+CONFIG_EAP_PWD=y
|
||||||
|
|
||||||
|
# EAP-SAKE for the integrated EAP server
|
||||||
|
#CONFIG_EAP_SAKE=y
|
||||||
|
diff --git a/package/network/services/hostapd/files/hostapd.sh b/package/network/services/hostapd/files/hostapd.sh
|
||||||
|
index d9d5f34877..a56bc69562 100644
|
||||||
|
--- a/package/network/services/hostapd/files/hostapd.sh
|
||||||
|
+++ b/package/network/services/hostapd/files/hostapd.sh
|
||||||
|
@@ -48,13 +48,17 @@ hostapd_append_wpa_key_mgmt() {
|
||||||
|
;;
|
||||||
|
eap192)
|
||||||
|
append wpa_key_mgmt "WPA-EAP-SUITE-B-192"
|
||||||
|
+ append wpa_key_mgmt "WPA-EAP-SHA256"
|
||||||
|
[ "${ieee80211r:-0}" -gt 0 ] && append wpa_key_mgmt "FT-EAP"
|
||||||
|
;;
|
||||||
|
- eap-eap192)
|
||||||
|
- append wpa_key_mgmt "WPA-EAP-SUITE-B-192"
|
||||||
|
+ eap-eap256)
|
||||||
|
append wpa_key_mgmt "WPA-EAP"
|
||||||
|
+ append wpa_key_mgmt "WPA-EAP-SHA256"
|
||||||
|
+ [ "${ieee80211r:-0}" -gt 0 ] && append wpa_key_mgmt "FT-EAP"
|
||||||
|
+ ;;
|
||||||
|
+ eap256)
|
||||||
|
+ append wpa_key_mgmt "WPA-EAP-SHA256"
|
||||||
|
[ "${ieee80211r:-0}" -gt 0 ] && append wpa_key_mgmt "FT-EAP"
|
||||||
|
- [ "${ieee80211w:-0}" -gt 0 ] && append wpa_key_mgmt "WPA-EAP-SHA256"
|
||||||
|
;;
|
||||||
|
sae)
|
||||||
|
append wpa_key_mgmt "SAE"
|
||||||
|
@@ -345,7 +349,7 @@ hostapd_common_add_bss_config() {
|
||||||
|
|
||||||
|
config_add_boolean hs20 disable_dgaf osen
|
||||||
|
config_add_int anqp_domain_id
|
||||||
|
- config_add_int hs20_deauth_req_timeout
|
||||||
|
+ config_add_int hs20_deauth_req_timeout hs20_release
|
||||||
|
config_add_array hs20_oper_friendly_name
|
||||||
|
config_add_array osu_provider
|
||||||
|
config_add_array operator_icon
|
||||||
|
@@ -371,6 +375,8 @@ hostapd_common_add_bss_config() {
|
||||||
|
|
||||||
|
config_add_boolean fils
|
||||||
|
config_add_string fils_dhcp
|
||||||
|
+
|
||||||
|
+ config_add_boolean ratelimit
|
||||||
|
}
|
||||||
|
|
||||||
|
hostapd_set_vlan_file() {
|
||||||
|
@@ -422,7 +428,7 @@ append_iw_anqp_3gpp_cell_net() {
|
||||||
|
if [ -z "$iw_anqp_3gpp_cell_net_conf" ]; then
|
||||||
|
iw_anqp_3gpp_cell_net_conf="$1"
|
||||||
|
else
|
||||||
|
- iw_anqp_3gpp_cell_net_conf="$iw_anqp_3gpp_cell_net_conf:$1"
|
||||||
|
+ iw_anqp_3gpp_cell_net_conf="$iw_anqp_3gpp_cell_net_conf;$1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -617,11 +623,11 @@ hostapd_set_bss_options() {
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$auth_type" in
|
||||||
|
- sae|owe|eap192|eap-eap192)
|
||||||
|
+ sae|owe|eap192|eap256)
|
||||||
|
set_default ieee80211w 2
|
||||||
|
set_default sae_require_mfp 1
|
||||||
|
;;
|
||||||
|
- psk-sae)
|
||||||
|
+ psk-sae|eap-eap256)
|
||||||
|
set_default ieee80211w 1
|
||||||
|
set_default sae_require_mfp 1
|
||||||
|
;;
|
||||||
|
@@ -664,7 +670,7 @@ hostapd_set_bss_options() {
|
||||||
|
vlan_possible=1
|
||||||
|
wps_possible=1
|
||||||
|
;;
|
||||||
|
- eap|eap192|eap-eap192)
|
||||||
|
+ eap|eap192|eap-eap256|eap256)
|
||||||
|
json_get_vars \
|
||||||
|
auth_server auth_secret auth_port \
|
||||||
|
dae_client dae_secret dae_port \
|
||||||
|
@@ -930,7 +936,16 @@ hostapd_set_bss_options() {
|
||||||
|
json_get_vars ieee80211w_mgmt_cipher ieee80211w_max_timeout ieee80211w_retry_timeout
|
||||||
|
append bss_conf "ieee80211w=$ieee80211w" "$N"
|
||||||
|
[ "$ieee80211w" -gt "0" ] && {
|
||||||
|
- append bss_conf "group_mgmt_cipher=${ieee80211w_mgmt_cipher:-AES-128-CMAC}" "$N"
|
||||||
|
+ case "$auth_type" in
|
||||||
|
+ eap192)
|
||||||
|
+ append bss_conf "group_mgmt_cipher=BIP-GMAC-256" "$N"
|
||||||
|
+ append bss_conf "group_cipher=GCMP-256" "$N"
|
||||||
|
+ ;;
|
||||||
|
+ *)
|
||||||
|
+ append bss_conf "group_mgmt_cipher=${ieee80211w_mgmt_cipher:-AES-128-CMAC}" "$N"
|
||||||
|
+ ;;
|
||||||
|
+ esac
|
||||||
|
+
|
||||||
|
[ -n "$ieee80211w_max_timeout" ] && \
|
||||||
|
append bss_conf "assoc_sa_query_max_timeout=$ieee80211w_max_timeout" "$N"
|
||||||
|
[ -n "$ieee80211w_retry_timeout" ] && \
|
||||||
|
@@ -1045,12 +1060,13 @@ hostapd_set_bss_options() {
|
||||||
|
|
||||||
|
local hs20 disable_dgaf osen anqp_domain_id hs20_deauth_req_timeout \
|
||||||
|
osu_ssid hs20_wan_metrics hs20_operating_class hs20_t_c_filename hs20_t_c_timestamp \
|
||||||
|
- hs20_t_c_server_url
|
||||||
|
+ hs20_t_c_server_url hs20_release
|
||||||
|
json_get_vars hs20 disable_dgaf osen anqp_domain_id hs20_deauth_req_timeout \
|
||||||
|
osu_ssid hs20_wan_metrics hs20_operating_class hs20_t_c_filename hs20_t_c_timestamp \
|
||||||
|
- hs20_t_c_server_url
|
||||||
|
+ hs20_t_c_server_url hs20_release
|
||||||
|
|
||||||
|
set_default hs20 0
|
||||||
|
+ set_default hs20_release 1
|
||||||
|
set_default disable_dgaf $hs20
|
||||||
|
set_default osen 0
|
||||||
|
set_default anqp_domain_id 0
|
||||||
|
@@ -1058,6 +1074,7 @@ hostapd_set_bss_options() {
|
||||||
|
if [ "$hs20" = "1" ]; then
|
||||||
|
append bss_conf "hs20=1" "$N"
|
||||||
|
append_hs20_icons
|
||||||
|
+ append bss_conf "hs20_release=$hs20_release" "$N"
|
||||||
|
append bss_conf "disable_dgaf=$disable_dgaf" "$N"
|
||||||
|
append bss_conf "osen=$osen" "$N"
|
||||||
|
append bss_conf "anqp_domain_id=$anqp_domain_id" "$N"
|
||||||
|
@@ -1248,10 +1265,10 @@ wpa_supplicant_add_network() {
|
||||||
|
default_disabled
|
||||||
|
|
||||||
|
case "$auth_type" in
|
||||||
|
- sae|owe|eap192|eap-eap192)
|
||||||
|
+ sae|owe|eap-eap256)
|
||||||
|
set_default ieee80211w 2
|
||||||
|
;;
|
||||||
|
- psk-sae)
|
||||||
|
+ psk-sae|eap192|eap256)
|
||||||
|
set_default ieee80211w 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
@@ -1329,7 +1346,7 @@ wpa_supplicant_add_network() {
|
||||||
|
fi
|
||||||
|
append network_data "$passphrase" "$N$T"
|
||||||
|
;;
|
||||||
|
- eap|eap192|eap-eap192)
|
||||||
|
+ eap|eap192|eap-eap256|eap256)
|
||||||
|
hostapd_append_wpa_key_mgmt
|
||||||
|
key_mgmt="$wpa_key_mgmt"
|
||||||
|
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
||||||
Reference in New Issue
Block a user