aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/niu.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-01-15 22:50:08 -0800
committerDavid S. Miller <davem@davemloft.net>2008-01-17 01:49:30 -0800
commite415e6ea0cd36ece29c7b12232286b5ca097ac96 (patch)
treeb7c792dca2765965647acc93501268d8e563b9c8 /drivers/net/niu.c
parent[NET]: Fix TX timeout regression in Intel drivers. (diff)
downloadlinux-dev-e415e6ea0cd36ece29c7b12232286b5ca097ac96.tar.xz
linux-dev-e415e6ea0cd36ece29c7b12232286b5ca097ac96.zip
[NIU]: Fix 1G PHY link state handling.
The code in link_status_1g() computes the active speed and duplex but does not update the link config state with those values. As a result the link speed is not reported correctly and the XIF is not reprogrammed properly on link up events. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/niu.c')
-rw-r--r--drivers/net/niu.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/niu.c b/drivers/net/niu.c
index 3bbcea11329f..5f6beabf2d17 100644
--- a/drivers/net/niu.c
+++ b/drivers/net/niu.c
@@ -1319,6 +1319,7 @@ static int link_status_10g(struct niu *np, int *link_up_p)
static int link_status_1g(struct niu *np, int *link_up_p)
{
+ struct niu_link_config *lp = &np->link_config;
u16 current_speed, bmsr;
unsigned long flags;
u8 current_duplex;
@@ -1386,6 +1387,8 @@ static int link_status_1g(struct niu *np, int *link_up_p)
link_up = 0;
}
}
+ lp->active_speed = current_speed;
+ lp->active_duplex = current_duplex;
err = 0;
out: