From 5d524e9d5c65266748abae095b9f0d3875006bf1 Mon Sep 17 00:00:00 2001 From: juhosg Date: Sat, 26 Jun 2010 19:52:36 +0000 Subject: [PATCH] backfire: generic: rtl8366: don't show link parameters if the link is down (backport of r21908) git-svn-id: svn://svn.openwrt.org/openwrt/branches/backfire@21927 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../files/drivers/net/phy/rtl8366rb.c | 29 +++++++++++-------- .../files/drivers/net/phy/rtl8366s.c | 29 +++++++++++-------- 2 files changed, 34 insertions(+), 24 deletions(-) diff --git a/target/linux/generic-2.6/files/drivers/net/phy/rtl8366rb.c b/target/linux/generic-2.6/files/drivers/net/phy/rtl8366rb.c index 98c5a0ba8..1069225d2 100644 --- a/target/linux/generic-2.6/files/drivers/net/phy/rtl8366rb.c +++ b/target/linux/generic-2.6/files/drivers/net/phy/rtl8366rb.c @@ -1119,19 +1119,24 @@ static int rtl8366rb_sw_get_port_link(struct switch_dev *dev, if (val->port_vlan % 2) data = data >> 8; - len = snprintf(rtl->buf, sizeof(rtl->buf), - "port:%d link:%s speed:%s %s-duplex %s%s%s", - val->port_vlan, - (data & RTL8366S_PORT_STATUS_LINK_MASK) ? "up" : "down", - rtl8366rb_speed_str(data & + if (data & RTL8366S_PORT_STATUS_LINK_MASK) { + len = snprintf(rtl->buf, sizeof(rtl->buf), + "port:%d link:up speed:%s %s-duplex %s%s%s", + val->port_vlan, + rtl8366rb_speed_str(data & RTL8366S_PORT_STATUS_SPEED_MASK), - (data & RTL8366S_PORT_STATUS_DUPLEX_MASK) ? - "full" : "half", - (data & RTL8366S_PORT_STATUS_TXPAUSE_MASK) ? - "tx-pause ": "", - (data & RTL8366S_PORT_STATUS_RXPAUSE_MASK) ? - "rx-pause " : "", - (data & RTL8366S_PORT_STATUS_AN_MASK) ? "nway ": ""); + (data & RTL8366S_PORT_STATUS_DUPLEX_MASK) ? + "full" : "half", + (data & RTL8366S_PORT_STATUS_TXPAUSE_MASK) ? + "tx-pause ": "", + (data & RTL8366S_PORT_STATUS_RXPAUSE_MASK) ? + "rx-pause " : "", + (data & RTL8366S_PORT_STATUS_AN_MASK) ? + "nway ": ""); + } else { + len = snprintf(rtl->buf, sizeof(rtl->buf), "port:%d link: down", + val->port_vlan); + } val->value.s = rtl->buf; val->len = len; diff --git a/target/linux/generic-2.6/files/drivers/net/phy/rtl8366s.c b/target/linux/generic-2.6/files/drivers/net/phy/rtl8366s.c index 26d5c7880..f30a5a3c6 100644 --- a/target/linux/generic-2.6/files/drivers/net/phy/rtl8366s.c +++ b/target/linux/generic-2.6/files/drivers/net/phy/rtl8366s.c @@ -1087,19 +1087,24 @@ static int rtl8366s_sw_get_port_link(struct switch_dev *dev, if (val->port_vlan % 2) data = data >> 8; - len = snprintf(rtl->buf, sizeof(rtl->buf), - "port:%d link:%s speed:%s %s-duplex %s%s%s", - val->port_vlan, - (data & RTL8366S_PORT_STATUS_LINK_MASK) ? "up" : "down", - rtl8366s_speed_str(data & + if (data & RTL8366S_PORT_STATUS_LINK_MASK) { + len = snprintf(rtl->buf, sizeof(rtl->buf), + "port:%d link:up speed:%s %s-duplex %s%s%s", + val->port_vlan, + rtl8366s_speed_str(data & RTL8366S_PORT_STATUS_SPEED_MASK), - (data & RTL8366S_PORT_STATUS_DUPLEX_MASK) ? - "full" : "half", - (data & RTL8366S_PORT_STATUS_TXPAUSE_MASK) ? - "tx-pause ": "", - (data & RTL8366S_PORT_STATUS_RXPAUSE_MASK) ? - "rx-pause " : "", - (data & RTL8366S_PORT_STATUS_AN_MASK) ? "nway ": ""); + (data & RTL8366S_PORT_STATUS_DUPLEX_MASK) ? + "full" : "half", + (data & RTL8366S_PORT_STATUS_TXPAUSE_MASK) ? + "tx-pause ": "", + (data & RTL8366S_PORT_STATUS_RXPAUSE_MASK) ? + "rx-pause " : "", + (data & RTL8366S_PORT_STATUS_AN_MASK) ? + "nway ": ""); + } else { + len = snprintf(rtl->buf, sizeof(rtl->buf), "port:%d link: down", + val->port_vlan); + } val->value.s = rtl->buf; val->len = len;