summaryrefslogtreecommitdiff
path: root/drivers/net/sunvnet.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2007-07-18 11:07:39 +0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-07-18 12:20:18 +0400
commitd762acdbd3b2bd9a714ace47d7b0c76133d7b295 (patch)
tree10fcc8b02c469c4bef15f60fe717d0ed54621288 /drivers/net/sunvnet.c
parenta4cd184503f448dda346d2338aa61cb560cc1b14 (diff)
downloadlinux-d762acdbd3b2bd9a714ace47d7b0c76133d7b295.tar.xz
[SPARC64]: Fix reset handling in VNET driver.
In vnet_event(), if the channel was reset, try to get the link going again by invoking vio_port_up() after dropping the lock. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sunvnet.c')
-rw-r--r--drivers/net/sunvnet.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/sunvnet.c b/drivers/net/sunvnet.c
index b69f55226bd6..b801e3b3a11a 100644
--- a/drivers/net/sunvnet.c
+++ b/drivers/net/sunvnet.c
@@ -498,6 +498,8 @@ static void vnet_event(void *arg, int event)
vio_link_state_change(vio, event);
spin_unlock_irqrestore(&vio->lock, flags);
+ if (event == LDC_EVENT_RESET)
+ vio_port_up(vio);
return;
}