From 321918aa56899cd357d069fd909a806ea768c7c2 Mon Sep 17 00:00:00 2001
From: Matteo Croce <rootkit85@yahoo.it>
Date: Wed, 5 Mar 2008 12:59:54 +0000
Subject: [PATCH] fixed_phy seems to be broken, this simple workaround fixes it

SVN-Revision: 10545
---
 .../150-cpmac_up_and_running.diff             | 27 +++++++++++++++++++
 1 file changed, 27 insertions(+)
 create mode 100644 target/linux/ar7/patches-2.6.24/150-cpmac_up_and_running.diff

diff --git a/target/linux/ar7/patches-2.6.24/150-cpmac_up_and_running.diff b/target/linux/ar7/patches-2.6.24/150-cpmac_up_and_running.diff
new file mode 100644
index 0000000000..6a0f42d17c
--- /dev/null
+++ b/target/linux/ar7/patches-2.6.24/150-cpmac_up_and_running.diff
@@ -0,0 +1,27 @@
+--- linux-2.6.24.2/drivers/net/cpmac.c	2008-03-05 13:45:56.000000000 +0100
++++ linux-2.6.24.2/drivers/net/cpmac.c	2008-03-05 13:46:24.000000000 +0100
+@@ -841,7 +841,8 @@
+ 	int new_state = 0;
+ 
+ 	spin_lock(&priv->lock);
+-	if (priv->phy->link) {
++	if (1 /* priv->phy->link */ ) {
++		netif_carrier_on(dev);
+ 		netif_start_queue(dev);
+ 		if (priv->phy->duplex != priv->oldduplex) {
+ 			new_state = 1;
+@@ -853,11 +854,11 @@
+ 			priv->oldspeed = priv->phy->speed;
+ 		}
+ 
+-		if (!priv->oldlink) {
++		/*if (!priv->oldlink) {
+ 			new_state = 1;
+-			priv->oldlink = 1;
++			priv->oldlink = 1;*/
+ 			netif_schedule(dev);
+-		}
++		/*}*/
+ 	} else if (priv->oldlink) {
+ 		netif_stop_queue(dev);
+ 		new_state = 1;
-- 
2.30.2