stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org,
	Maxime Chevallier <maxime.chevallier@bootlin.com>,
	Antoine Tenart <antoine.tenart@bootlin.com>,
	Russell King <rmk+kernel@armlinux.org.uk>,
	Baruch Siach <baruch@tkos.co.il>,
	"David S. Miller" <davem@davemloft.net>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 4.19 53/67] net: mvpp2: fix phylink handling of invalid PHY modes
Date: Thu, 20 Dec 2018 10:19:05 +0100	[thread overview]
Message-ID: <20181220085905.642107004@linuxfoundation.org> (raw)
In-Reply-To: <20181220085903.562090333@linuxfoundation.org>

4.19-stable review patch.  If anyone has any objections, please let me know.

------------------

[ Upstream commit 0fb628f0f250c74b1023edd0ca4a57c8b35b9b2c ]

The .validate phylink callback should empty the supported bitmap when
the interface mode is invalid.

Cc: Maxime Chevallier <maxime.chevallier@bootlin.com>
Cc: Antoine Tenart <antoine.tenart@bootlin.com>
Reported-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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 .../net/ethernet/marvell/mvpp2/mvpp2_main.c   | 33 ++++++++++++++++++-
 1 file changed, 32 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
index 1b3b64fea038..6320e080b831 100644
--- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
+++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
@@ -4262,8 +4262,27 @@ static void mvpp2_phylink_validate(struct net_device *dev,
 				   unsigned long *supported,
 				   struct phylink_link_state *state)
 {
+	struct mvpp2_port *port = netdev_priv(dev);
 	__ETHTOOL_DECLARE_LINK_MODE_MASK(mask) = { 0, };
 
+	/* Invalid combinations */
+	switch (state->interface) {
+	case PHY_INTERFACE_MODE_10GKR:
+	case PHY_INTERFACE_MODE_XAUI:
+		if (port->gop_id != 0)
+			goto empty_set;
+		break;
+	case PHY_INTERFACE_MODE_RGMII:
+	case PHY_INTERFACE_MODE_RGMII_ID:
+	case PHY_INTERFACE_MODE_RGMII_RXID:
+	case PHY_INTERFACE_MODE_RGMII_TXID:
+		if (port->gop_id == 0)
+			goto empty_set;
+		break;
+	default:
+		break;
+	}
+
 	phylink_set(mask, Autoneg);
 	phylink_set_port_modes(mask);
 	phylink_set(mask, Pause);
@@ -4271,6 +4290,7 @@ static void mvpp2_phylink_validate(struct net_device *dev,
 
 	switch (state->interface) {
 	case PHY_INTERFACE_MODE_10GKR:
+	case PHY_INTERFACE_MODE_XAUI:
 	case PHY_INTERFACE_MODE_NA:
 		phylink_set(mask, 10000baseCR_Full);
 		phylink_set(mask, 10000baseSR_Full);
@@ -4279,7 +4299,11 @@ static void mvpp2_phylink_validate(struct net_device *dev,
 		phylink_set(mask, 10000baseER_Full);
 		phylink_set(mask, 10000baseKR_Full);
 		/* Fall-through */
-	default:
+	case PHY_INTERFACE_MODE_RGMII:
+	case PHY_INTERFACE_MODE_RGMII_ID:
+	case PHY_INTERFACE_MODE_RGMII_RXID:
+	case PHY_INTERFACE_MODE_RGMII_TXID:
+	case PHY_INTERFACE_MODE_SGMII:
 		phylink_set(mask, 10baseT_Half);
 		phylink_set(mask, 10baseT_Full);
 		phylink_set(mask, 100baseT_Half);
@@ -4291,11 +4315,18 @@ static void mvpp2_phylink_validate(struct net_device *dev,
 		phylink_set(mask, 1000baseT_Full);
 		phylink_set(mask, 1000baseX_Full);
 		phylink_set(mask, 2500baseX_Full);
+		break;
+	default:
+		goto empty_set;
 	}
 
 	bitmap_and(supported, supported, mask, __ETHTOOL_LINK_MODE_MASK_NBITS);
 	bitmap_and(state->advertising, state->advertising, mask,
 		   __ETHTOOL_LINK_MODE_MASK_NBITS);
+	return;
+
+empty_set:
+	bitmap_zero(supported, __ETHTOOL_LINK_MODE_MASK_NBITS);
 }
 
 static void mvpp22_xlg_link_state(struct mvpp2_port *port,
-- 
2.19.1

  parent reply	other threads:[~2018-12-20  9:19 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-20  9:18 [PATCH 4.19 00/67] 4.19.12-stable review Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 01/67] locking/qspinlock: Re-order code Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 02/67] locking/qspinlock, x86: Provide liveness guarantee Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 03/67] IB/hfi1: Remove race conditions in user_sdma send path Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 04/67] mac80211_hwsim: fix module init error paths for netlink Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 05/67] Input: hyper-v - fix wakeup from suspend-to-idle Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 06/67] i2c: rcar: check bus state before reinitializing Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 07/67] scsi: libiscsi: Fix NULL pointer dereference in iscsi_eh_session_reset Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 08/67] scsi: vmw_pscsi: Rearrange code to avoid multiple calls to free_irq during unload Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 09/67] tools/bpf: fix two test_btf unit test cases Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 10/67] tools/bpf: add addition type tests to test_btf Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 11/67] net: ethernet: ave: Replace NET_IP_ALIGN with AVE_FRAME_HEADROOM Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 12/67] drm/amd/display: Fix 6x4K displays light-up on Vega20 (v2) Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 13/67] x86/earlyprintk/efi: Fix infinite loop on some screen widths Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 14/67] drm/msm: Fix task dump in gpu recovery Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 15/67] drm/msm/gpu: Fix a couple memory leaks in debugfs Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 16/67] drm/msm: fix handling of cmdstream offset Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 17/67] drm/msm/dsi: configure VCO rate for 10nm PLL driver Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 18/67] drm/msm: Grab a vblank reference when waiting for commit_done Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 19/67] drm/ttm: fix LRU handling in ttm_buffer_object_transfer Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 20/67] drm/amdgpu: wait for IB test on first device open Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 21/67] ARC: io.h: Implement reads{x}()/writes{x}() Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 22/67] net: stmmac: Move debugfs init/exit to ->probe()/->remove() Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 23/67] net: aquantia: fix rx checksum offload bits Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 24/67] bonding: fix 802.3ad state sent to partner when unbinding slave Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 25/67] bpf: Fix verifier log string check for bad alignment Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 26/67] liquidio: read sc->iq_no before release sc Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 27/67] nfs: dont dirty kernel pages read by direct-io Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 28/67] SUNRPC: Fix a potential race in xprt_connect() Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 29/67] sbus: char: add of_node_put() Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 30/67] drivers/sbus/char: " Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 31/67] drivers/tty: add missing of_node_put() Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 32/67] ide: pmac: add of_node_put() Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 33/67] drm/msm/hdmi: Enable HPD after HDMI IRQ is set up Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 34/67] drm/msm: dpu: Dont set legacy plane->crtc pointer Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 35/67] drm/msm: dpu: Fix "WARNING: invalid free of devm_ allocated data" Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 36/67] drm/msm: Fix error return checking Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 37/67] drm/amd/powerplay: issue pre-display settings for display change event Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 38/67] clk: mvebu: Off by one bugs in cp110_of_clk_get() Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 39/67] clk: mmp: Off by one in mmp_clk_add() Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 40/67] Input: synaptics - enable SMBus for HP 15-ay000 Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 41/67] Input: omap-keypad - fix keyboard debounce configuration Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 42/67] libata: whitelist all SAMSUNG MZ7KM* solid-state disks Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 43/67] macvlan: return correct error value Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 44/67] mv88e6060: disable hardware level MAC learning Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 45/67] net/mlx4_en: Fix build break when CONFIG_INET is off Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 46/67] bpf: check pending signals while verifying programs Greg Kroah-Hartman
2018-12-20  9:18 ` [PATCH 4.19 47/67] ARM: 8814/1: mm: improve/fix ARM v7_dma_inv_range() unaligned address handling Greg Kroah-Hartman
2018-12-20  9:19 ` [PATCH 4.19 48/67] ARM: 8815/1: V7M: align v7m_dma_inv_range() with v7 counterpart Greg Kroah-Hartman
2018-12-20  9:19 ` [PATCH 4.19 49/67] ARM: 8816/1: dma-mapping: fix potential uninitialized return Greg Kroah-Hartman
2018-12-20  9:19 ` [PATCH 4.19 50/67] ethernet: fman: fix wrong of_node_put() in probe function Greg Kroah-Hartman
2018-12-20  9:19 ` [PATCH 4.19 51/67] thermal: armada: fix legacy validity test sense Greg Kroah-Hartman
2018-12-20  9:19 ` [PATCH 4.19 52/67] net: mvpp2: fix detection of 10G SFP modules Greg Kroah-Hartman
2018-12-20  9:19 ` Greg Kroah-Hartman [this message]
2018-12-20  9:19 ` [PATCH 4.19 54/67] drm/amdgpu/vcn: Update vcn.cur_state during suspend Greg Kroah-Hartman
2018-12-20  9:19 ` [PATCH 4.19 55/67] tools/testing/nvdimm: Align test resources to 128M Greg Kroah-Hartman
2018-12-20  9:19 ` [PATCH 4.19 56/67] acpi/nfit: Fix user-initiated ARS to be "ARS-long" rather than "ARS-short" Greg Kroah-Hartman
2018-12-20  9:19 ` [PATCH 4.19 57/67] drm/ast: Fix connector leak during driver unload Greg Kroah-Hartman
2018-12-20  9:19 ` [PATCH 4.19 58/67] cifs: In Kconfig CONFIG_CIFS_POSIX needs depends on legacy (insecure cifs) Greg Kroah-Hartman
2018-12-20  9:19 ` [PATCH 4.19 59/67] vhost/vsock: fix reset orphans race with close timeout Greg Kroah-Hartman
2018-12-20  9:19 ` [PATCH 4.19 60/67] mlxsw: spectrum_switchdev: Fix VLAN device deletion via ioctl Greg Kroah-Hartman
2018-12-20  9:19 ` [PATCH 4.19 61/67] i2c: axxia: properly handle master timeout Greg Kroah-Hartman
2018-12-20  9:19 ` [PATCH 4.19 62/67] i2c: scmi: Fix probe error on devices with an empty SMB0001 ACPI device node Greg Kroah-Hartman
2018-12-20  9:19 ` [PATCH 4.19 63/67] i2c: uniphier: fix violation of tLOW requirement for Fast-mode Greg Kroah-Hartman
2018-12-20  9:19 ` [PATCH 4.19 64/67] i2c: uniphier-f: " Greg Kroah-Hartman
2018-12-20  9:19 ` [PATCH 4.19 65/67] nvme: validate controller state before rescheduling keep alive Greg Kroah-Hartman
2018-12-20  9:19 ` [PATCH 4.19 66/67] nvmet-rdma: fix response use after free Greg Kroah-Hartman
2018-12-20  9:19 ` [PATCH 4.19 67/67] Btrfs: fix missing delayed iputs on unmount Greg Kroah-Hartman
2018-12-20 15:03 ` [PATCH 4.19 00/67] 4.19.12-stable review Naresh Kamboju
2018-12-21  7:10   ` Greg Kroah-Hartman
2018-12-20 18:29 ` Guenter Roeck
2018-12-21  7:10   ` Greg Kroah-Hartman
2018-12-20 22:48 ` shuah
2018-12-21  7:09   ` Greg Kroah-Hartman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181220085905.642107004@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=antoine.tenart@bootlin.com \
    --cc=baruch@tkos.co.il \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maxime.chevallier@bootlin.com \
    --cc=rmk+kernel@armlinux.org.uk \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).