lantiq: fix xrx200 switch carrier state
authorMathias Kresin <dev@kresin.me>
Wed, 9 Aug 2017 16:43:56 +0000 (18:43 +0200)
committerMathias Kresin <dev@kresin.me>
Fri, 8 Sep 2017 19:48:48 +0000 (21:48 +0200)
commit47be42c3476ee8b96f87688dc8f6571191e926ec
treea2e4922954f5c0847646ee98a85e38b676cd60e7
parent5629904ea8753e2b399413074174bf18a88b84f8
lantiq: fix xrx200 switch carrier state

In conditions where none of the switch ports is connected during boot,
the priv->port[i].link != priv->port[i].phydev->link condition is false
since both link values are equal (false). The carrier of the switch
netdev is never set to off and the link state reported by ip is UNKNOWN.

Turn the carrier off if none of the switch ports has a link, regardless
whether something has been changed. Add a check for a carrier to
prevent unnecessary calls to netif_carrier_off() if the carrier is
already off.

Based on a patch send by Martin Schiller.

Signed-off-by: Mathias Kresin <dev@kresin.me>
target/linux/lantiq/patches-4.9/0025-NET-MIPS-lantiq-adds-xrx200-net.patch