Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1596528

[PATCH net 3/8] net: bcmgenet: reserved phy revisions must be checked first

From Doug Berger <opendmb@gmail.com>
Newsgroups linux.kernel
Subject [PATCH net 3/8] net: bcmgenet: reserved phy revisions must be checked first
Date 2017-03-10 02:00 +0100
Message-ID <tjh4u-4qP-33@gated-at.bofh.it> (permalink)
References <tjh4t-4qP-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


From: Doug Berger <doug.berger@broadcom.com>

The reserved gphy_rev value of 0x01ff must be tested before the old
or new scheme for GPHY major versioning are tested, otherwise it will
be treated as 0xff00 according to the old scheme.

refs #SWLINUX-4311

Fixes: b04a2f5b9ff5 ("net: bcmgenet: add support for new GENET PHY revision scheme")
Signed-off-by: Doug Berger <doug.berger@broadcom.com>
---
 drivers/net/ethernet/broadcom/genet/bcmgenet.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
index 01a172d95328..99f8d9024633 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
@@ -3226,6 +3226,12 @@ static void bcmgenet_set_hw_params(struct bcmgenet_priv *priv)
 	 */
 	gphy_rev = reg & 0xffff;
 
+	/* This is reserved so should require special treatment */
+	if (gphy_rev == 0 || gphy_rev == 0x01ff) {
+		pr_warn("Invalid GPHY revision detected: 0x%04x\n", gphy_rev);
+		return;
+	}
+
 	/* This is the good old scheme, just GPHY major, no minor nor patch */
 	if ((gphy_rev & 0xf0) != 0)
 		priv->gphy_rev = gphy_rev << 8;
@@ -3234,12 +3240,6 @@ static void bcmgenet_set_hw_params(struct bcmgenet_priv *priv)
 	else if ((gphy_rev & 0xff00) != 0)
 		priv->gphy_rev = gphy_rev;
 
-	/* This is reserved so should require special treatment */
-	else if (gphy_rev == 0 || gphy_rev == 0x01ff) {
-		pr_warn("Invalid GPHY revision detected: 0x%04x\n", gphy_rev);
-		return;
-	}
-
 #ifdef CONFIG_PHYS_ADDR_T_64BIT
 	if (!(params->flags & GENET_HAS_40BITS))
 		pr_warn("GENET does not support 40-bits PA\n");
-- 
2.11.1

Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH net 0/8] net: bcmgenet: minor bug fixes Doug Berger <opendmb@gmail.com> - 2017-03-10 02:00 +0100
  [PATCH net 5/8] net: bcmgenet: synchronize irq0 status between the isr and task Doug Berger <opendmb@gmail.com> - 2017-03-10 02:00 +0100
  [PATCH net 8/8] net: bcmgenet: decouple flow control from bcmgenet_tx_reclaim Doug Berger <opendmb@gmail.com> - 2017-03-10 02:00 +0100
  [PATCH net 6/8] net: bcmgenet: Power up the internal PHY before probing the MII Doug Berger <opendmb@gmail.com> - 2017-03-10 02:00 +0100
  [PATCH net 7/8] net: bcmgenet: add begin/complete ethtool ops Doug Berger <opendmb@gmail.com> - 2017-03-10 02:00 +0100
  [PATCH net 1/8] net: bcmgenet: correct the RBUF_OVFL_CNT and RBUF_ERR_CNT MIB values Doug Berger <opendmb@gmail.com> - 2017-03-10 02:00 +0100
  [PATCH net 3/8] net: bcmgenet: reserved phy revisions must be checked first Doug Berger <opendmb@gmail.com> - 2017-03-10 02:00 +0100
  [PATCH net 2/8] net: bcmgenet: correct MIB access of UniMAC RUNT counters Doug Berger <opendmb@gmail.com> - 2017-03-10 02:00 +0100

csiph-web