diff options
author | Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com> | 2021-02-19 18:59:29 -0800 |
---|---|---|
committer | Adrian Schmutzler <freifunk@adrianschmutzler.de> | 2021-03-06 11:24:12 +0100 |
commit | eda836e390af2e9f08618dde8e06af851e732a47 (patch) | |
tree | 112baa14e8058067d164a92b81b279a10d1974ce /target/linux/ramips/patches-5.10/990-NET-no-auto-carrier-off-support.patch | |
parent | a9966793e81e1c0f48478ac42ea5bf284927c817 (diff) | |
download | upstream-eda836e390af2e9f08618dde8e06af851e732a47.tar.gz upstream-eda836e390af2e9f08618dde8e06af851e732a47.tar.bz2 upstream-eda836e390af2e9f08618dde8e06af851e732a47.zip |
ramips: 5.10: copy patches from 5.4
Strict copy, no changes made.
Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
Diffstat (limited to 'target/linux/ramips/patches-5.10/990-NET-no-auto-carrier-off-support.patch')
-rw-r--r-- | target/linux/ramips/patches-5.10/990-NET-no-auto-carrier-off-support.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/target/linux/ramips/patches-5.10/990-NET-no-auto-carrier-off-support.patch b/target/linux/ramips/patches-5.10/990-NET-no-auto-carrier-off-support.patch new file mode 100644 index 0000000000..a31d1ac3a6 --- /dev/null +++ b/target/linux/ramips/patches-5.10/990-NET-no-auto-carrier-off-support.patch @@ -0,0 +1,47 @@ +From 0b6eb1e68290243d439ee330ea8d0b239a5aec69 Mon Sep 17 00:00:00 2001 +From: John Crispin <blogic@openwrt.org> +Date: Sun, 27 Jul 2014 09:38:50 +0100 +Subject: [PATCH 34/53] NET: multi phy support + +Signed-off-by: John Crispin <blogic@openwrt.org> +--- + drivers/net/phy/phy.c | 9 ++++++--- + include/linux/phy.h | 1 + + 2 files changed, 7 insertions(+), 3 deletions(-) + +--- a/drivers/net/phy/phy.c ++++ b/drivers/net/phy/phy.c +@@ -546,7 +546,10 @@ static int phy_check_link_status(struct + phy_link_up(phydev); + } else if (!phydev->link && phydev->state != PHY_NOLINK) { + phydev->state = PHY_NOLINK; +- phy_link_down(phydev, true); ++ if (!phydev->no_auto_carrier_off) ++ phy_link_down(phydev, true); ++ else ++ phy_link_down(phydev, false); + } + + return 0; +@@ -926,7 +929,10 @@ void phy_state_machine(struct work_struc + case PHY_HALTED: + if (phydev->link) { + phydev->link = 0; +- phy_link_down(phydev, true); ++ if (!phydev->no_auto_carrier_off) ++ phy_link_down(phydev, true); ++ else ++ phy_link_down(phydev, false); + } + do_suspend = true; + break; +--- a/include/linux/phy.h ++++ b/include/linux/phy.h +@@ -380,6 +380,7 @@ struct phy_device { + unsigned suspended_by_mdio_bus:1; + unsigned sysfs_links:1; + unsigned loopback_enabled:1; ++ unsigned no_auto_carrier_off:1; + + unsigned autoneg:1; + /* The most recently read link state */ |