From ebf712921a432b7a46a990063094ffb1adac2d7f Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 6 Jul 2014 13:45:43 +0000 Subject: brcm47xx: fix bcm4705 rebooting when initializing the switch. When the Ethernet controller is powered down and someone wants to access the mdio bus like the witch driver (b53) the system crashed if PCI_D3hot was set before. This patch deactivates this power sawing mode when a switch driver is in use. Signed-off-by: Hauke Mehrtens git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41527 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../brcm47xx/patches-3.10/791-tg3-no-pci-sleep.patch | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 target/linux/brcm47xx/patches-3.10/791-tg3-no-pci-sleep.patch (limited to 'target/linux/brcm47xx/patches-3.10') diff --git a/target/linux/brcm47xx/patches-3.10/791-tg3-no-pci-sleep.patch b/target/linux/brcm47xx/patches-3.10/791-tg3-no-pci-sleep.patch new file mode 100644 index 0000000000..f8b2c7c15f --- /dev/null +++ b/target/linux/brcm47xx/patches-3.10/791-tg3-no-pci-sleep.patch @@ -0,0 +1,17 @@ +When the Ethernet controller is powered down and someone wants to +access the mdio bus like the witch driver (b53) the system crashed if +PCI_D3hot was set before. This patch deactivates this power sawing mode +when a switch driver is in use. + +--- a/drivers/net/ethernet/broadcom/tg3.c ++++ b/drivers/net/ethernet/broadcom/tg3.c +@@ -4221,7 +4221,8 @@ static void tg3_power_down(struct tg3 *t + tg3_power_down_prepare(tp); + + pci_wake_from_d3(tp->pdev, tg3_flag(tp, WOL_ENABLE)); +- pci_set_power_state(tp->pdev, PCI_D3hot); ++ if (!tg3_flag(tp, ROBOSWITCH)) ++ pci_set_power_state(tp->pdev, PCI_D3hot); + } + + static void tg3_aux_stat_to_speed_duplex(struct tg3 *tp, u32 val, u16 *speed, u8 *duplex) -- cgit v1.2.3