From 7435b628c6c5cd196544e616503d9f3b68889c2c Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Thu, 17 Jul 2014 20:34:18 +0000 Subject: [PATCH] brcm47xx: fix switch detection with kernel 3.14 Signed-off-by: Hauke Mehrtens SVN-Revision: 41706 --- .../patches-3.14/960-fix-phy-device.patch | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 target/linux/brcm47xx/patches-3.14/960-fix-phy-device.patch diff --git a/target/linux/brcm47xx/patches-3.14/960-fix-phy-device.patch b/target/linux/brcm47xx/patches-3.14/960-fix-phy-device.patch new file mode 100644 index 0000000000..f8d923916d --- /dev/null +++ b/target/linux/brcm47xx/patches-3.14/960-fix-phy-device.patch @@ -0,0 +1,22 @@ +This fixes a problem introduced in this commit: + +commit 87aa9f9c61ad56d505641681812e92ad976f8608 +Author: Florian Fainelli +Date: Fri Dec 6 13:01:34 2013 -0800 + + net: phy: consolidate PHY reset in phy_init_hw() + +The fixups are not executed before the switch gets registered but after +the kernel searches for the right switch driver. When the search is +executed it searches for the phy_id 0x00, because it was not fixed. + +--- a/drivers/net/phy/phy_device.c ++++ b/drivers/net/phy/phy_device.c +@@ -353,6 +353,7 @@ int phy_device_register(struct phy_devic + phydev->bus->phy_map[phydev->addr] = phydev; + + /* Run all of the fixups for this PHY */ ++ phy_scan_fixups(phydev); + err = phy_init_hw(phydev); + if (err) { + pr_err("PHY %d failed to initialize\n", phydev->addr); -- 2.30.2