[openwrt/openwrt] kernel: bump 5.10 to 5.10.117

LEDE Commits lede-commits at lists.infradead.org
Mon Jun 6 15:51:38 PDT 2022


hauke pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/01a6a5c73120ccddd2a83381252ede91aac070f4

commit 01a6a5c73120ccddd2a83381252ede91aac070f4
Author: John Audia <therealgraysky at proton.me>
AuthorDate: Sun May 22 07:12:09 2022 -0400

    kernel: bump 5.10 to 5.10.117
    
    Removed upstreamed:
        backport-5.10/890-v5.19-net-sfp-Add-tx-fault-workaround-for-Huawei-MA5671A-SFP-ON.patch
    
    All patches automatically rebased.
    
    Build system: x86_64
    Build-tested: ipq806x/R7800
    
    Signed-off-by: John Audia <therealgraysky at proton.me>
---
 include/kernel-5.10                                |  4 +-
 ...m_sf2-support-BCM4908-s-integrated-switch.patch | 10 ++--
 ...a-bcm_sf2-setup-BCM4908-internal-crossbar.patch | 10 ++--
 ...t-dsa-bcm_sf2-Fill-in-BCM4908-CFP-entries.patch |  2 +-
 ...m_sf2-add-function-finding-RGMII-register.patch |  6 +--
 ...5-net-dsa-bcm_sf2-fix-BCM4908-RGMII-reg-s.patch |  2 +-
 ..._sf2-Fix-bcm_sf2_reg_rgmii_cntrl-call-for.patch |  4 +-
 ...-net-dsa-bcm_sf2-refactor-LED-regs-access.patch |  2 +-
 ...sa-bcm_sf2-enable-GPHY-for-switch-probing.patch |  2 +-
 ...-bcm_sf2-keep-GPHY-enabled-on-the-BCM4908.patch |  2 +-
 ...ools-resolve_btfids-Build-with-host-flags.patch |  7 +--
 ...pass-the-dst-buffer-to-of_get_mac_address.patch |  4 +-
 ...ault-workaround-for-Huawei-MA5671A-SFP-ON.patch | 57 ----------------------
 ...et-phy-simplify-phy_link_change-arguments.patch |  8 +--
 .../721-NET-no-auto-carrier-off-support.patch      |  4 +-
 15 files changed, 31 insertions(+), 93 deletions(-)

diff --git a/include/kernel-5.10 b/include/kernel-5.10
index 348ba6152a..cfc5c92055 100644
--- a/include/kernel-5.10
+++ b/include/kernel-5.10
@@ -1,2 +1,2 @@
-LINUX_VERSION-5.10 = .116
-LINUX_KERNEL_HASH-5.10.116 = 806692ba7436f9cfbc32709fe20097dbde4ae5e2f4ae582f39b1d91ce5d20b49
+LINUX_VERSION-5.10 = .117
+LINUX_KERNEL_HASH-5.10.117 = 703ef7112cdf889950dd864ba482d04bd87d83d3df3a98ab8d4ba8a7ab1ddcc7
diff --git a/target/linux/bcm4908/patches-5.10/071-v5.12-0001-net-dsa-bcm_sf2-support-BCM4908-s-integrated-switch.patch b/target/linux/bcm4908/patches-5.10/071-v5.12-0001-net-dsa-bcm_sf2-support-BCM4908-s-integrated-switch.patch
index 35017bf1e4..5af1f3da32 100644
--- a/target/linux/bcm4908/patches-5.10/071-v5.12-0001-net-dsa-bcm_sf2-support-BCM4908-s-integrated-switch.patch
+++ b/target/linux/bcm4908/patches-5.10/071-v5.12-0001-net-dsa-bcm_sf2-support-BCM4908-s-integrated-switch.patch
@@ -68,8 +68,8 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  			offset = CORE_STS_OVERRIDE_IMP;
  		else
  			offset = CORE_STS_OVERRIDE_IMP2;
-@@ -711,7 +712,8 @@ static void bcm_sf2_sw_mac_link_down(str
- 	u32 reg, offset;
+@@ -714,7 +715,8 @@ static void bcm_sf2_sw_mac_link_down(str
+ 		return;
  
  	if (port != core_readl(priv, CORE_IMP0_PRT_ID)) {
 -		if (priv->type == BCM7445_DEVICE_ID)
@@ -78,7 +78,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  			offset = CORE_STS_OVERRIDE_GMIIP_PORT(port);
  		else
  			offset = CORE_STS_OVERRIDE_GMIIP2_PORT(port);
-@@ -738,7 +740,8 @@ static void bcm_sf2_sw_mac_link_up(struc
+@@ -741,7 +743,8 @@ static void bcm_sf2_sw_mac_link_up(struc
  	bcm_sf2_sw_mac_link_set(ds, port, interface, true);
  
  	if (port != core_readl(priv, CORE_IMP0_PRT_ID)) {
@@ -88,7 +88,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  			offset = CORE_STS_OVERRIDE_GMIIP_PORT(port);
  		else
  			offset = CORE_STS_OVERRIDE_GMIIP2_PORT(port);
-@@ -1131,6 +1134,30 @@ struct bcm_sf2_of_data {
+@@ -1134,6 +1137,30 @@ struct bcm_sf2_of_data {
  	unsigned int num_cfp_rules;
  };
  
@@ -119,7 +119,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  /* Register offsets for the SWITCH_REG_* block */
  static const u16 bcm_sf2_7445_reg_offsets[] = {
  	[REG_SWITCH_CNTRL]	= 0x00,
-@@ -1179,6 +1206,9 @@ static const struct bcm_sf2_of_data bcm_
+@@ -1182,6 +1209,9 @@ static const struct bcm_sf2_of_data bcm_
  };
  
  static const struct of_device_id bcm_sf2_of_match[] = {
diff --git a/target/linux/bcm4908/patches-5.10/075-v5.13-0002-net-dsa-bcm_sf2-setup-BCM4908-internal-crossbar.patch b/target/linux/bcm4908/patches-5.10/075-v5.13-0002-net-dsa-bcm_sf2-setup-BCM4908-internal-crossbar.patch
index b9ec7af1ae..6d76640ead 100644
--- a/target/linux/bcm4908/patches-5.10/075-v5.13-0002-net-dsa-bcm_sf2-setup-BCM4908-internal-crossbar.patch
+++ b/target/linux/bcm4908/patches-5.10/075-v5.13-0002-net-dsa-bcm_sf2-setup-BCM4908-internal-crossbar.patch
@@ -82,7 +82,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  static void bcm_sf2_intr_disable(struct bcm_sf2_priv *priv)
  {
  	intrl2_0_mask_set(priv, 0xffffffff);
-@@ -872,6 +910,8 @@ static int bcm_sf2_sw_resume(struct dsa_
+@@ -875,6 +913,8 @@ static int bcm_sf2_sw_resume(struct dsa_
  		return ret;
  	}
  
@@ -91,7 +91,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	ret = bcm_sf2_cfp_resume(ds);
  	if (ret)
  		return ret;
-@@ -1143,6 +1183,7 @@ struct bcm_sf2_of_data {
+@@ -1146,6 +1186,7 @@ struct bcm_sf2_of_data {
  	const u16 *reg_offsets;
  	unsigned int core_reg_align;
  	unsigned int num_cfp_rules;
@@ -99,7 +99,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  };
  
  static const u16 bcm_sf2_4908_reg_offsets[] = {
-@@ -1167,6 +1208,7 @@ static const struct bcm_sf2_of_data bcm_
+@@ -1170,6 +1211,7 @@ static const struct bcm_sf2_of_data bcm_
  	.core_reg_align	= 0,
  	.reg_offsets	= bcm_sf2_4908_reg_offsets,
  	.num_cfp_rules	= 0, /* FIXME */
@@ -107,7 +107,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  };
  
  /* Register offsets for the SWITCH_REG_* block */
-@@ -1277,6 +1319,7 @@ static int bcm_sf2_sw_probe(struct platf
+@@ -1280,6 +1322,7 @@ static int bcm_sf2_sw_probe(struct platf
  	priv->reg_offsets = data->reg_offsets;
  	priv->core_reg_align = data->core_reg_align;
  	priv->num_cfp_rules = data->num_cfp_rules;
@@ -115,7 +115,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  	priv->rcdev = devm_reset_control_get_optional_exclusive(&pdev->dev,
  								"switch");
-@@ -1350,6 +1393,8 @@ static int bcm_sf2_sw_probe(struct platf
+@@ -1353,6 +1396,8 @@ static int bcm_sf2_sw_probe(struct platf
  		goto out_clk_mdiv;
  	}
  
diff --git a/target/linux/bcm4908/patches-5.10/075-v5.13-0003-net-dsa-bcm_sf2-Fill-in-BCM4908-CFP-entries.patch b/target/linux/bcm4908/patches-5.10/075-v5.13-0003-net-dsa-bcm_sf2-Fill-in-BCM4908-CFP-entries.patch
index b99bf010bd..9ff1051f35 100644
--- a/target/linux/bcm4908/patches-5.10/075-v5.13-0003-net-dsa-bcm_sf2-Fill-in-BCM4908-CFP-entries.patch
+++ b/target/linux/bcm4908/patches-5.10/075-v5.13-0003-net-dsa-bcm_sf2-Fill-in-BCM4908-CFP-entries.patch
@@ -14,7 +14,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
 
 --- a/drivers/net/dsa/bcm_sf2.c
 +++ b/drivers/net/dsa/bcm_sf2.c
-@@ -1207,7 +1207,7 @@ static const struct bcm_sf2_of_data bcm_
+@@ -1210,7 +1210,7 @@ static const struct bcm_sf2_of_data bcm_
  	.type		= BCM4908_DEVICE_ID,
  	.core_reg_align	= 0,
  	.reg_offsets	= bcm_sf2_4908_reg_offsets,
diff --git a/target/linux/bcm4908/patches-5.10/075-v5.13-0004-net-dsa-bcm_sf2-add-function-finding-RGMII-register.patch b/target/linux/bcm4908/patches-5.10/075-v5.13-0004-net-dsa-bcm_sf2-add-function-finding-RGMII-register.patch
index 132a734ac4..281a8bbcda 100644
--- a/target/linux/bcm4908/patches-5.10/075-v5.13-0004-net-dsa-bcm_sf2-add-function-finding-RGMII-register.patch
+++ b/target/linux/bcm4908/patches-5.10/075-v5.13-0004-net-dsa-bcm_sf2-add-function-finding-RGMII-register.patch
@@ -113,7 +113,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  }
  
  static void bcm_sf2_sw_mac_link_down(struct dsa_switch *ds, int port,
-@@ -784,11 +815,15 @@ static void bcm_sf2_sw_mac_link_up(struc
+@@ -787,11 +818,15 @@ static void bcm_sf2_sw_mac_link_up(struc
  {
  	struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds);
  	struct ethtool_eee *p = &priv->dev->ports[port].eee;
@@ -130,7 +130,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  		if (priv->type == BCM4908_DEVICE_ID ||
  		    priv->type == BCM7445_DEVICE_ID)
  			offset = CORE_STS_OVERRIDE_GMIIP_PORT(port);
-@@ -799,7 +834,7 @@ static void bcm_sf2_sw_mac_link_up(struc
+@@ -802,7 +837,7 @@ static void bcm_sf2_sw_mac_link_up(struc
  		    interface == PHY_INTERFACE_MODE_RGMII_TXID ||
  		    interface == PHY_INTERFACE_MODE_MII ||
  		    interface == PHY_INTERFACE_MODE_REVMII) {
@@ -139,7 +139,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  			reg &= ~(RX_PAUSE_EN | TX_PAUSE_EN);
  
  			if (tx_pause)
-@@ -807,7 +842,7 @@ static void bcm_sf2_sw_mac_link_up(struc
+@@ -810,7 +845,7 @@ static void bcm_sf2_sw_mac_link_up(struc
  			if (rx_pause)
  				reg |= RX_PAUSE_EN;
  
diff --git a/target/linux/bcm4908/patches-5.10/075-v5.13-0005-net-dsa-bcm_sf2-fix-BCM4908-RGMII-reg-s.patch b/target/linux/bcm4908/patches-5.10/075-v5.13-0005-net-dsa-bcm_sf2-fix-BCM4908-RGMII-reg-s.patch
index 67c633a930..312f46723f 100644
--- a/target/linux/bcm4908/patches-5.10/075-v5.13-0005-net-dsa-bcm_sf2-fix-BCM4908-RGMII-reg-s.patch
+++ b/target/linux/bcm4908/patches-5.10/075-v5.13-0005-net-dsa-bcm_sf2-fix-BCM4908-RGMII-reg-s.patch
@@ -33,7 +33,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  		break;
  	default:
  		switch (port) {
-@@ -1230,9 +1235,7 @@ static const u16 bcm_sf2_4908_reg_offset
+@@ -1233,9 +1238,7 @@ static const u16 bcm_sf2_4908_reg_offset
  	[REG_PHY_REVISION]	= 0x14,
  	[REG_SPHY_CNTRL]	= 0x24,
  	[REG_CROSSBAR]		= 0xc8,
diff --git a/target/linux/bcm4908/patches-5.10/075-v5.13-0006-net-dsa-bcm_sf2-Fix-bcm_sf2_reg_rgmii_cntrl-call-for.patch b/target/linux/bcm4908/patches-5.10/075-v5.13-0006-net-dsa-bcm_sf2-Fix-bcm_sf2_reg_rgmii_cntrl-call-for.patch
index 5e5d6d939d..f7e9bcb5a2 100644
--- a/target/linux/bcm4908/patches-5.10/075-v5.13-0006-net-dsa-bcm_sf2-Fix-bcm_sf2_reg_rgmii_cntrl-call-for.patch
+++ b/target/linux/bcm4908/patches-5.10/075-v5.13-0006-net-dsa-bcm_sf2-Fix-bcm_sf2_reg_rgmii_cntrl-call-for.patch
@@ -23,7 +23,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
 
 --- a/drivers/net/dsa/bcm_sf2.c
 +++ b/drivers/net/dsa/bcm_sf2.c
-@@ -824,11 +824,9 @@ static void bcm_sf2_sw_mac_link_up(struc
+@@ -827,11 +827,9 @@ static void bcm_sf2_sw_mac_link_up(struc
  	bcm_sf2_sw_mac_link_set(ds, port, interface, true);
  
  	if (port != core_readl(priv, CORE_IMP0_PRT_ID)) {
@@ -36,7 +36,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  		if (priv->type == BCM4908_DEVICE_ID ||
  		    priv->type == BCM7445_DEVICE_ID)
  			offset = CORE_STS_OVERRIDE_GMIIP_PORT(port);
-@@ -839,6 +837,7 @@ static void bcm_sf2_sw_mac_link_up(struc
+@@ -842,6 +840,7 @@ static void bcm_sf2_sw_mac_link_up(struc
  		    interface == PHY_INTERFACE_MODE_RGMII_TXID ||
  		    interface == PHY_INTERFACE_MODE_MII ||
  		    interface == PHY_INTERFACE_MODE_REVMII) {
diff --git a/target/linux/bcm4908/patches-5.10/076-v5.17-net-dsa-bcm_sf2-refactor-LED-regs-access.patch b/target/linux/bcm4908/patches-5.10/076-v5.17-net-dsa-bcm_sf2-refactor-LED-regs-access.patch
index bf45cdcf24..e31d93b396 100644
--- a/target/linux/bcm4908/patches-5.10/076-v5.17-net-dsa-bcm_sf2-refactor-LED-regs-access.patch
+++ b/target/linux/bcm4908/patches-5.10/076-v5.17-net-dsa-bcm_sf2-refactor-LED-regs-access.patch
@@ -82,7 +82,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  	}
  }
  
-@@ -1235,9 +1272,14 @@ static const u16 bcm_sf2_4908_reg_offset
+@@ -1238,9 +1275,14 @@ static const u16 bcm_sf2_4908_reg_offset
  	[REG_SPHY_CNTRL]	= 0x24,
  	[REG_CROSSBAR]		= 0xc8,
  	[REG_RGMII_11_CNTRL]	= 0x014c,
diff --git a/target/linux/bcm4908/patches-5.10/700-net-dsa-bcm_sf2-enable-GPHY-for-switch-probing.patch b/target/linux/bcm4908/patches-5.10/700-net-dsa-bcm_sf2-enable-GPHY-for-switch-probing.patch
index a53fca0e90..4aec8f8439 100644
--- a/target/linux/bcm4908/patches-5.10/700-net-dsa-bcm_sf2-enable-GPHY-for-switch-probing.patch
+++ b/target/linux/bcm4908/patches-5.10/700-net-dsa-bcm_sf2-enable-GPHY-for-switch-probing.patch
@@ -29,7 +29,7 @@ Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
 
 --- a/drivers/net/dsa/bcm_sf2.c
 +++ b/drivers/net/dsa/bcm_sf2.c
-@@ -1532,10 +1532,14 @@ static int bcm_sf2_sw_probe(struct platf
+@@ -1535,10 +1535,14 @@ static int bcm_sf2_sw_probe(struct platf
  	rev = reg_readl(priv, REG_PHY_REVISION);
  	priv->hw_params.gphy_rev = rev & PHY_REVISION_MASK;
  
diff --git a/target/linux/bcm4908/patches-5.10/701-net-dsa-bcm_sf2-keep-GPHY-enabled-on-the-BCM4908.patch b/target/linux/bcm4908/patches-5.10/701-net-dsa-bcm_sf2-keep-GPHY-enabled-on-the-BCM4908.patch
index 00ffb19f6f..78f6e90427 100644
--- a/target/linux/bcm4908/patches-5.10/701-net-dsa-bcm_sf2-keep-GPHY-enabled-on-the-BCM4908.patch
+++ b/target/linux/bcm4908/patches-5.10/701-net-dsa-bcm_sf2-keep-GPHY-enabled-on-the-BCM4908.patch
@@ -15,7 +15,7 @@ Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
 
 --- a/drivers/net/dsa/bcm_sf2.c
 +++ b/drivers/net/dsa/bcm_sf2.c
-@@ -1546,6 +1546,12 @@ static int bcm_sf2_sw_probe(struct platf
+@@ -1549,6 +1549,12 @@ static int bcm_sf2_sw_probe(struct platf
  		 priv->hw_params.core_rev >> 8, priv->hw_params.core_rev & 0xff,
  		 priv->irq0, priv->irq1);
  
diff --git a/target/linux/generic/backport-5.10/200-v5.18-tools-resolve_btfids-Build-with-host-flags.patch b/target/linux/generic/backport-5.10/200-v5.18-tools-resolve_btfids-Build-with-host-flags.patch
index 489575fb35..caec8db5d6 100644
--- a/target/linux/generic/backport-5.10/200-v5.18-tools-resolve_btfids-Build-with-host-flags.patch
+++ b/target/linux/generic/backport-5.10/200-v5.18-tools-resolve_btfids-Build-with-host-flags.patch
@@ -24,8 +24,6 @@ Signed-off-by: Stijn Tintel <stijn at linux-ipv6.be>
  tools/bpf/resolve_btfids/Makefile | 6 ++++--
  1 file changed, 4 insertions(+), 2 deletions(-)
 
-diff --git a/tools/bpf/resolve_btfids/Makefile b/tools/bpf/resolve_btfids/Makefile
-index af9f9d3534c9..e727058bfe15 100644
 --- a/tools/bpf/resolve_btfids/Makefile
 +++ b/tools/bpf/resolve_btfids/Makefile
 @@ -23,6 +23,8 @@ CC       = $(HOSTCC)
@@ -37,7 +35,7 @@ index af9f9d3534c9..e727058bfe15 100644
  
  OUTPUT ?= $(srctree)/tools/bpf/resolve_btfids/
  
-@@ -45,9 +47,9 @@ $(SUBCMDOBJ): fixdep FORCE | $(OUTPUT)/libsubcmd
+@@ -45,9 +47,9 @@ $(SUBCMDOBJ): fixdep FORCE | $(OUTPUT)/l
  	$(Q)$(MAKE) -C $(SUBCMD_SRC) OUTPUT=$(abspath $(dir $@))/ $(abspath $@)
  
  $(BPFOBJ): $(wildcard $(LIBBPF_SRC)/*.[ch] $(LIBBPF_SRC)/Makefile) | $(OUTPUT)/libbpf
@@ -49,6 +47,3 @@ index af9f9d3534c9..e727058bfe15 100644
            -I$(srctree)/tools/include \
            -I$(srctree)/tools/include/uapi \
            -I$(LIBBPF_SRC) \
--- 
-2.35.1
-
diff --git a/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch b/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch
index a4a9f5624e..3b59e4532c 100644
--- a/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch
+++ b/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch
@@ -1641,7 +1641,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	lp->coalesce_count_tx = XAXIDMA_DFT_TX_THRESHOLD;
 --- a/drivers/net/ethernet/xilinx/xilinx_emaclite.c
 +++ b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
-@@ -1122,7 +1122,6 @@ static int xemaclite_of_probe(struct pla
+@@ -1107,7 +1107,6 @@ static int xemaclite_of_probe(struct pla
  	struct net_device *ndev = NULL;
  	struct net_local *lp = NULL;
  	struct device *dev = &ofdev->dev;
@@ -1649,7 +1649,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  	int rc = 0;
  
-@@ -1164,12 +1163,9 @@ static int xemaclite_of_probe(struct pla
+@@ -1149,12 +1148,9 @@ static int xemaclite_of_probe(struct pla
  	lp->next_rx_buf_to_use = 0x0;
  	lp->tx_ping_pong = get_bool(ofdev, "xlnx,tx-ping-pong");
  	lp->rx_ping_pong = get_bool(ofdev, "xlnx,rx-ping-pong");
diff --git a/target/linux/generic/backport-5.10/890-v5.19-net-sfp-Add-tx-fault-workaround-for-Huawei-MA5671A-SFP-ON.patch b/target/linux/generic/backport-5.10/890-v5.19-net-sfp-Add-tx-fault-workaround-for-Huawei-MA5671A-SFP-ON.patch
deleted file mode 100644
index 7a9de8ee1e..0000000000
--- a/target/linux/generic/backport-5.10/890-v5.19-net-sfp-Add-tx-fault-workaround-for-Huawei-MA5671A-SFP-ON.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From f81d97cb646ab8b90fb181d66fccaf9589990de6 Mon Sep 17 00:00:00 2001
-From: Matthew Hagan <mnhagan88 at gmail.com>
-Date: Sat, 30 Apr 2022 11:00:49 +0100
-Subject: [PATCH v2] net: sfp: Add tx-fault workaround for Huawei MA5671A SFP
- ONT
-
-As noted elsewhere, various GPON SFP modules exhibit non-standard
-TX-fault behaviour. In the tested case, the Huawei MA5671A, when used
-in combination with a Marvell mv88e6085 switch, was found to
-persistently assert TX-fault, resulting in the module being disabled.
-
-This patch adds a quirk to ignore the SFP_F_TX_FAULT state, allowing the
-module to function.
-
-Change from v1: removal of erroneous return statment (Andrew Lunn)
-
-Signed-off-by: Matthew Hagan <mnhagan88 at gmail.com>
-Reviewed-by: Andrew Lunn <andrew at lunn.ch>
----
- drivers/net/phy/sfp.c | 12 +++++++++++-
- 1 file changed, 11 insertions(+), 1 deletion(-)
-
---- a/drivers/net/phy/sfp.c
-+++ b/drivers/net/phy/sfp.c
-@@ -249,6 +249,7 @@ struct sfp {
- 	struct sfp_eeprom_id id;
- 	unsigned int module_power_mW;
- 	unsigned int module_t_start_up;
-+	bool tx_fault_ignore;
- 
- #if IS_ENABLED(CONFIG_HWMON)
- 	struct sfp_diag diag;
-@@ -1893,6 +1894,12 @@ static int sfp_sm_mod_probe(struct sfp *
- 	else
- 		sfp->module_t_start_up = T_START_UP;
- 
-+	if (!memcmp(id.base.vendor_name, "HUAWEI          ", 16) &&
-+	    !memcmp(id.base.vendor_pn, "MA5671A         ", 16))
-+		sfp->tx_fault_ignore = true;
-+	else
-+		sfp->tx_fault_ignore = false;
-+
- 	return 0;
- }
- 
-@@ -2320,7 +2327,10 @@ static void sfp_check_state(struct sfp *
- 	mutex_lock(&sfp->st_mutex);
- 	state = sfp_get_state(sfp);
- 	changed = state ^ sfp->state;
--	changed &= SFP_F_PRESENT | SFP_F_LOS | SFP_F_TX_FAULT;
-+	if (sfp->tx_fault_ignore)
-+		changed &= SFP_F_PRESENT | SFP_F_LOS;
-+	else
-+		changed &= SFP_F_PRESENT | SFP_F_LOS | SFP_F_TX_FAULT;
- 
- 	for (i = 0; i < GPIO_MAX; i++)
- 		if (changed & BIT(i))
diff --git a/target/linux/ramips/patches-5.10/720-Revert-net-phy-simplify-phy_link_change-arguments.patch b/target/linux/ramips/patches-5.10/720-Revert-net-phy-simplify-phy_link_change-arguments.patch
index a73d5e7b1e..6e8b488290 100644
--- a/target/linux/ramips/patches-5.10/720-Revert-net-phy-simplify-phy_link_change-arguments.patch
+++ b/target/linux/ramips/patches-5.10/720-Revert-net-phy-simplify-phy_link_change-arguments.patch
@@ -33,7 +33,7 @@ still required by target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c
  	phy_led_trigger_change_speed(phydev);
  }
  
-@@ -567,7 +567,7 @@ int phy_start_cable_test(struct phy_devi
+@@ -572,7 +572,7 @@ int phy_start_cable_test(struct phy_devi
  		goto out;
  
  	/* Mark the carrier down until the test is complete */
@@ -42,7 +42,7 @@ still required by target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c
  
  	netif_testing_on(dev);
  	err = phydev->drv->cable_test_start(phydev);
-@@ -638,7 +638,7 @@ int phy_start_cable_test_tdr(struct phy_
+@@ -643,7 +643,7 @@ int phy_start_cable_test_tdr(struct phy_
  		goto out;
  
  	/* Mark the carrier down until the test is complete */
@@ -51,7 +51,7 @@ still required by target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c
  
  	netif_testing_on(dev);
  	err = phydev->drv->cable_test_tdr_start(phydev, config);
-@@ -709,7 +709,7 @@ static int phy_check_link_status(struct
+@@ -714,7 +714,7 @@ static int phy_check_link_status(struct
  		phy_link_up(phydev);
  	} else if (!phydev->link && phydev->state != PHY_NOLINK) {
  		phydev->state = PHY_NOLINK;
@@ -60,7 +60,7 @@ still required by target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c
  	}
  
  	return 0;
-@@ -1191,7 +1191,7 @@ void phy_state_machine(struct work_struc
+@@ -1226,7 +1226,7 @@ void phy_state_machine(struct work_struc
  	case PHY_HALTED:
  		if (phydev->link) {
  			phydev->link = 0;
diff --git a/target/linux/ramips/patches-5.10/721-NET-no-auto-carrier-off-support.patch b/target/linux/ramips/patches-5.10/721-NET-no-auto-carrier-off-support.patch
index b83daffd4f..5e82c13d2a 100644
--- a/target/linux/ramips/patches-5.10/721-NET-no-auto-carrier-off-support.patch
+++ b/target/linux/ramips/patches-5.10/721-NET-no-auto-carrier-off-support.patch
@@ -11,7 +11,7 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
 
 --- a/drivers/net/phy/phy.c
 +++ b/drivers/net/phy/phy.c
-@@ -709,7 +709,10 @@ static int phy_check_link_status(struct
+@@ -714,7 +714,10 @@ static int phy_check_link_status(struct
  		phy_link_up(phydev);
  	} else if (!phydev->link && phydev->state != PHY_NOLINK) {
  		phydev->state = PHY_NOLINK;
@@ -23,7 +23,7 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
  	}
  
  	return 0;
-@@ -1191,7 +1194,10 @@ void phy_state_machine(struct work_struc
+@@ -1226,7 +1229,10 @@ void phy_state_machine(struct work_struc
  	case PHY_HALTED:
  		if (phydev->link) {
  			phydev->link = 0;




More information about the lede-commits mailing list