aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/pending-5.4/736-net-phy-at803x-add-at8031-features.patch
blob: aa70f828235dc18394e45866a38c1dc3f0961488 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Add back explicit PHY feature flags for the AR8031 and
AR8033 PHY instead of reading them from the PHY.

The Botloader for Ubiquiti UniFi AC boards (and possibly more)
leave fiber page selected, thus we will end up reading the PHY
capabilities of the SGMII side (which does not offer 10 Mbit/s).

We already have a hack in place, which switches back to the copper
page, however this happens after capabilities are read.

The original conversation about 735-net-phy-at803x-fix-at8033-sgmii-mode
back in 2015 explicitly mention the UniFi AC Lite. The issue however is
not missing autonegotiation on the Fiber side, but the fact the PHY
is never switched to the copper side. So half of this patch is superfluous.

A fix is currently being upstreamed. Once this is mainlined and available to us,
these patches can be dropped:

735-net-phy-at803x-fix-at8033-sgmii-mode.patch
736-net-phy-at803x-add-at8031-features.patch

This was tested on a UniFi AC Lite.

See https://patchwork.kernel.org/project/netdevbpf/list/?series=467341

--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
@@ -490,7 +490,7 @@ static struct phy_driver at803x_driver[]
 	.get_wol		= at803x_get_wol,
 	.suspend		= at803x_suspend,
 	.resume			= at803x_resume,
-	/* PHY_GBIT_FEATURES */
+	.features               = PHY_GBIT_FEATURES,
 	.read_status		= at803x_read_status,
 	.aneg_done		= at803x_aneg_done,
 	.ack_interrupt		= &at803x_ack_interrupt,