aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorDavid Bauer <mail@david-bauer.net>2021-06-13 12:00:41 +0200
committerDavid Bauer <mail@david-bauer.net>2021-06-21 22:43:15 +0200
commit56228e939365d543933a87cac11109a7d5ccc619 (patch)
treef419e991284bd7e37c2ecb77f01f34a0183813e6 /target
parent2e157714a8d4a0e1dbd6351ca0a3fe2fce75b0eb (diff)
downloadupstream-56228e939365d543933a87cac11109a7d5ccc619.tar.gz
upstream-56228e939365d543933a87cac11109a7d5ccc619.tar.bz2
upstream-56228e939365d543933a87cac11109a7d5ccc619.zip
ath79: don't autodetect AR8033 PHY capabilities
PHY capabilities are currently read from the fiber status page, thus Linux won't advertise 10 / 100 Base-T operation modes, effectively limiting operation to 1000 Base-T. Statically set the PHYs capabilities, avoiding autodetection. The issue itself is properly fixed kernel upstream, however backporting efforts to OpenWrt master resulted in breaking the fiber operation for another target. This is currently only known to be necessary for the Ubiquiti UniFi AC series, so enabling it in the ath79 target should not break somewhere else. Signed-off-by: David Bauer <mail@david-bauer.net>
Diffstat (limited to 'target')
-rw-r--r--target/linux/ath79/patches-5.4/700-at803x-force-ar8033-features.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/target/linux/ath79/patches-5.4/700-at803x-force-ar8033-features.patch b/target/linux/ath79/patches-5.4/700-at803x-force-ar8033-features.patch
new file mode 100644
index 0000000000..cfbcaa148d
--- /dev/null
+++ b/target/linux/ath79/patches-5.4/700-at803x-force-ar8033-features.patch
@@ -0,0 +1,25 @@
+PHY capabilities are currently read from the fiber status page, thus
+Linux won't advertise 10 / 100 Base-T operation modes, effectively
+limiting operation to 1000 Base-T.
+
+Statically set the PHYs capabilities, avoiding autodetection.
+
+The issue itself is properly fixed kernel upstream, however backporting
+efforts to OpenWrt master resulted in breaking the fiber operation for
+another target.
+
+This is currently only known to be necessary for the Ubiquiti
+UniFi AC series, so enabling it in the ath79 target should not
+break somewhere else.
+
+--- a/drivers/net/phy/at803x.c
++++ b/drivers/net/phy/at803x.c
+@@ -497,7 +497,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,