Hi Russell, Antoine, Russell King - ARM Linux writes: > On Tue, Dec 11, 2018 at 05:32:28PM +0100, Antoine Tenart wrote: >> The mvpp2_phylink_validate() function sets all modes that are >> supported by a given PPv2 port. A recent change made all ports to >> advertise they support 10G modes in certain cases. This is not true, >> as only the port #0 can do so. This patch fixes it. >> >> Fixes: 01b3fd5ac97c ("net: mvpp2: fix detection of 10G SFP modules") >> Cc: Baruch Siach <bar...@tkos.co.il> >> Signed-off-by: Antoine Tenart <antoine.ten...@bootlin.com> >> --- >> drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 14 ++++++++------ >> 1 file changed, 8 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c >> b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c >> index 125ea99418df..88aa488054a8 100644 >> --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c >> +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c >> @@ -4405,12 +4405,14 @@ static void mvpp2_phylink_validate(struct net_device >> *dev, >> case PHY_INTERFACE_MODE_10GKR: >> case PHY_INTERFACE_MODE_XAUI: > > Are these modes supported on anything except port 0? If not, you > should be rejecting these, rather than just treating them as RGMII.
That is, something like this, right? diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c index 125ea99418df..04cb0241ca2b 100644 --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c @@ -4404,13 +4404,18 @@ static void mvpp2_phylink_validate(struct net_device *dev, switch (state->interface) { case PHY_INTERFACE_MODE_10GKR: case PHY_INTERFACE_MODE_XAUI: + if (port->gop_id != 0) + goto empty_set; + /* Fall-through */ case PHY_INTERFACE_MODE_NA: - phylink_set(mask, 10000baseCR_Full); - phylink_set(mask, 10000baseSR_Full); - phylink_set(mask, 10000baseLR_Full); - phylink_set(mask, 10000baseLRM_Full); - phylink_set(mask, 10000baseER_Full); - phylink_set(mask, 10000baseKR_Full); + if (port->gop_id == 0) { + phylink_set(mask, 10000baseCR_Full); + phylink_set(mask, 10000baseSR_Full); + phylink_set(mask, 10000baseLR_Full); + phylink_set(mask, 10000baseLRM_Full); + phylink_set(mask, 10000baseER_Full); + phylink_set(mask, 10000baseKR_Full); + } /* Fall-through */ case PHY_INTERFACE_MODE_RGMII: case PHY_INTERFACE_MODE_RGMII_ID: baruch -- http://baruch.siach.name/blog/ ~. .~ Tk Open Systems =}------------------------------------------------ooO--U--Ooo------------{= - bar...@tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -