net: phy: phylink: fix SFP interface autodetection
authorBaruch Siach <baruch@tkos.co.il>
Wed, 3 Oct 2018 16:04:49 +0000 (19:04 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 5 Oct 2018 08:04:12 +0000 (01:04 -0700)
commit7e4183752735deb7543e179a44f4f4b44917cd6f
tree8e824d068ccec95206d0ff741d9224a2da60ab29
parent2d52527e80c2dc0c5f43f50adf183781262ec565
net: phy: phylink: fix SFP interface autodetection

When connecting SFP PHY to phylink use the detected interface.
Otherwise, the link fails to come up when the configured 'phy-mode'
differs from the SFP detected mode.

Move most of phylink_connect_phy() into __phylink_connect_phy(), and
leave phylink_connect_phy() as a wrapper. phylink_sfp_connect_phy() can
now pass the SFP detected PHY interface to __phylink_connect_phy().

This fixes 1GB SFP module link up on eth3 of the Macchiatobin board that
is configured in the DT to "2500base-x" phy-mode.

Fixes: 9525ae83959b6 ("phylink: add phylink infrastructure")
Suggested-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/phylink.c