From 2d8d0aa3529a78e2d74cda928fb167e5d3c73ac5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Thu, 23 Apr 2015 11:31:54 +0000 Subject: brcm47xx: add patches for kernel 4.0 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45570 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../brcm47xx/patches-4.0/791-tg3-no-pci-sleep.patch | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 target/linux/brcm47xx/patches-4.0/791-tg3-no-pci-sleep.patch (limited to 'target/linux/brcm47xx/patches-4.0/791-tg3-no-pci-sleep.patch') diff --git a/target/linux/brcm47xx/patches-4.0/791-tg3-no-pci-sleep.patch b/target/linux/brcm47xx/patches-4.0/791-tg3-no-pci-sleep.patch new file mode 100644 index 0000000000..35a816d8c2 --- /dev/null +++ b/target/linux/brcm47xx/patches-4.0/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 +@@ -4263,7 +4263,8 @@ static int tg3_power_down_prepare(struct + static void tg3_power_down(struct tg3 *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