Hi,

During tests, I noticed that the loss of link was not handled. This was
resulting of some stranges situations like mii-tool saying "no link" and
ethtool saying "link detected". Moreover, this prevents daemons like
ifplugd to work.

I've made a patch for this but I'm not sure if it's the correct
fix. Anyway, I'm sending it to you for review. 

Regards,
Arnaud

# sis190.c |    3 ++-
# 1 files changed, 2 insertions(+), 1 deletion(-)

---

--- /usr/src/linux-2.6.12-12mdk/drivers/net/sis190.c	2005-08-29 09:55:41.000000000 +0200
+++ sis190.c	2005-08-30 16:49:43.000000000 +0200
@@ -360,7 +360,7 @@ MODULE_VERSION(DRV_VERSION);
 MODULE_LICENSE("GPL");
 
 static const u32 sis190_intr_mask =
-	RxQEmpty | RxQInt | TxQ1Int | TxQ0Int | RxHalt | TxHalt;
+	RxQEmpty | RxQInt | TxQ1Int | TxQ0Int | RxHalt | TxHalt | LinkChange ;
 
 /*
  * Maximum number of multicast addresses to filter (vs. Rx-all-multicast).
@@ -925,6 +925,7 @@ static void sis190_phy_task(void * data)
 			 dev->name);
 		mdio_write(ioaddr, phy_id, MII_BMCR, val | BMCR_RESET);
 		mod_timer(&tp->timer, jiffies + SIS190_PHY_TIMEOUT);
+		netif_carrier_off(dev);
 	} else {
 		/* Rejoice ! */
 		struct {

Reply via email to