From: David S. Miller Date: Wed, 16 Jan 2008 06:50:08 +0000 (-0800) Subject: [NIU]: Fix 1G PHY link state handling. X-Git-Tag: v2.6.24~46^2 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e415e6ea0cd36ece29c7b12232286b5ca097ac96;p=linux-2.6 [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 --- diff --git a/drivers/net/niu.c b/drivers/net/niu.c index 3bbcea1132..5f6beabf2d 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: