I tested this on a WRT54GS and a WRT610N V1. The WRT610N does not boot when the kernel is too big, so I deactivated KALLSYMS Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
		
			
				
	
	
		
			18 lines
		
	
	
		
			712 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			712 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
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
 | 
						|
@@ -4261,7 +4261,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)
 |