[PATCH v2] ramips: fix at803x patch again

David Bauer mail at david-bauer.net
Fri Jun 4 00:37:18 PDT 2021


Hi,

On 6/4/21 7:12 AM, DENG Qingfang wrote:
> Commit 8222f8e1b9be overrides AR8031's PHY features, making its SFP
> link status detection unavailable. To fix that, do not override it in
> ramips patch.

As the original patch still has to be backported to 21.02, I'd propose
to remove my hacks and instead properly backport c329e5af and 8f7e8762
from upstream.

This would remove the need to hack around the first hack and hopefully
less surprises when switching to the next LTS kernel.

What do your think?

Best
David

> 
> Commit 6d4ef6792612 also moves .config_aneg to AR8035 by mistake, fix
> that as well.
> 
> Reported-by: CHEN Minqiang <ptpt52 at gmail.com>
> Fixes: 8222f8e1b9be ("ath79: fix link mode support list on UniFi AC")
> Fixes: 6d4ef6792612 ("kernel: bump 5.4 to 5.4.113")
> Signed-off-by: DENG Qingfang <dqfext at gmail.com>
> ---
> v1 -> v2: do not override .features
> 
>  .../ramips/patches-5.10/710-at803x.patch      | 13 ++++++++++--
>  .../linux/ramips/patches-5.4/991-at803x.patch | 21 ++++++++++++-------
>  2 files changed, 25 insertions(+), 9 deletions(-)
> 
> diff --git a/target/linux/ramips/patches-5.10/710-at803x.patch b/target/linux/ramips/patches-5.10/710-at803x.patch
> index dab62b7607..1afc266740 100644
> --- a/target/linux/ramips/patches-5.10/710-at803x.patch
> +++ b/target/linux/ramips/patches-5.10/710-at803x.patch
> @@ -9,8 +9,8 @@ Content-Transfer-Encoding: 8bit
>  
>  Signed-off-by: René van Dorst <opensource at vdorst.com>
>  ---
> - drivers/net/phy/at803x.c | 91 ++++++++++++++++++++++++++++++++++++++++
> - 1 file changed, 91 insertions(+)
> + drivers/net/phy/at803x.c | 86 +++++++++++++++++++++++++++++++++++++++-
> + 1 file changed, 85 insertions(+), 1 deletion(-)
>  
>  --- a/drivers/net/phy/at803x.c
>  +++ b/drivers/net/phy/at803x.c
> @@ -147,3 +147,12 @@ Signed-off-by: René van Dorst <opensource at vdorst.com>
>   	.flags			= PHY_POLL_CABLE_TEST,
>   	.probe			= at803x_probe,
>   	.remove			= at803x_remove,
> +@@ -1119,7 +1203,7 @@ static struct phy_driver at803x_driver[]
> + 	.get_wol		= at803x_get_wol,
> + 	.suspend		= at803x_suspend,
> + 	.resume			= at803x_resume,
> +-	.features               = PHY_GBIT_FEATURES,
> ++	/* PHY_GBIT_FEATURES */
> + 	.read_status		= at803x_read_status,
> + 	.aneg_done		= at803x_aneg_done,
> + 	.ack_interrupt		= &at803x_ack_interrupt,
> diff --git a/target/linux/ramips/patches-5.4/991-at803x.patch b/target/linux/ramips/patches-5.4/991-at803x.patch
> index 95411211b2..9148687113 100644
> --- a/target/linux/ramips/patches-5.4/991-at803x.patch
> +++ b/target/linux/ramips/patches-5.4/991-at803x.patch
> @@ -9,8 +9,8 @@ Content-Transfer-Encoding: 8bit
>  
>  Signed-off-by: René van Dorst <opensource at vdorst.com>
>  ---
> - drivers/net/phy/at803x.c | 91 ++++++++++++++++++++++++++++++++++++++++
> - 1 file changed, 91 insertions(+)
> + drivers/net/phy/at803x.c | 93 +++++++++++++++++++++++++++++++++++++++-
> + 1 file changed, 92 insertions(+), 1 deletion(-)
>  
>  --- a/drivers/net/phy/at803x.c
>  +++ b/drivers/net/phy/at803x.c
> @@ -146,11 +146,18 @@ Signed-off-by: René van Dorst <opensource at vdorst.com>
>   static struct phy_driver at803x_driver[] = {
>   {
>   	/* ATHEROS 8035 */
> -@@ -461,6 +551,7 @@ static struct phy_driver at803x_driver[]
> +@@ -485,12 +575,13 @@ static struct phy_driver at803x_driver[]
> + 	.name			= "Atheros 8031 ethernet",
> + 	.phy_id_mask		= AT803X_PHY_ID_MASK,
> + 	.probe			= at803x_probe,
> ++	.config_aneg		= at803x_config_aneg,
> + 	.config_init		= at803x_config_init,
> + 	.set_wol		= at803x_set_wol,
> + 	.get_wol		= at803x_get_wol,
>   	.suspend		= at803x_suspend,
>   	.resume			= at803x_resume,
> - 	/* PHY_GBIT_FEATURES */
> -+	.config_aneg		= at803x_config_aneg,
> +-	.features               = PHY_GBIT_FEATURES,
> ++	/* PHY_GBIT_FEATURES */
>   	.read_status		= at803x_read_status,
> - 	.ack_interrupt		= at803x_ack_interrupt,
> - 	.config_intr		= at803x_config_intr,
> + 	.aneg_done		= at803x_aneg_done,
> + 	.ack_interrupt		= &at803x_ack_interrupt,
> 



More information about the openwrt-devel mailing list