diff options
author | davem <davem> | 2002-02-01 21:45:28 +0000 |
---|---|---|
committer | davem <davem> | 2002-02-01 21:45:28 +0000 |
commit | bcbcab1aa878e19941c4d585ab4c114c52838591 (patch) | |
tree | 36676fc74f924833078336f2a88b9698b14b7ad5 | |
parent | aced4e4814e8a94209d25269be6b39cbf87e3724 (diff) | |
download | netdev-vger-cvs-bcbcab1aa878e19941c4d585ab4c114c52838591.tar.gz |
When resetting due to a hard error condition, force
the PHY to be reset and auto-negotiation restarted.
-rw-r--r-- | drivers/net/sungem.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/sungem.c b/drivers/net/sungem.c index 23f537fc4..592e824c6 100644 --- a/drivers/net/sungem.c +++ b/drivers/net/sungem.c @@ -1,4 +1,4 @@ -/* $Id: sungem.c,v 1.49 2002-01-23 15:40:45 davem Exp $ +/* $Id: sungem.c,v 1.50 2002-02-01 21:45:28 davem Exp $ * sungem.c: Sun GEM ethernet driver. * * Copyright (C) 2000, 2001 David S. Miller (davem@redhat.com) @@ -480,7 +480,7 @@ static int gem_abnormal_irq(struct net_device *dev, struct gem *gp, u32 gem_stat return 0; do_reset: - gp->reset_task_pending = 1; + gp->reset_task_pending = 2; schedule_task(&gp->reset_task); return 1; @@ -1182,7 +1182,8 @@ static void gem_reset_task(void *data) /* Reset the chip & rings */ gem_stop(gp); gem_init_rings(gp, 0); - gem_init_hw(gp, 0); + gem_init_hw(gp, + (gp->reset_task_pending == 2)); netif_wake_queue(gp->dev); } |