Skip to contentSkip to conversation

phy: micrel: Add ethtool statistics counters

DISCUSSION Dan Carpenter 2 participants 3 messages Jan 4, 2016 Kernel janitors

lore
Share & tools
lore
#0 lore raw

Hello Andrew Lunn,

The patch 2b2427d06426: "phy: micrel: Add ethtool statistics counters" from Dec 30, 2015, leads to the following static checker warning:

	drivers/net/phy/micrel.c:609 kszphy_get_stat()
	warn: unsigned 'val' is never less than zero.

drivers/net/phy/micrel.c
602 static u64 kszphy_get_stat(struct phy_device *phydev, int i) 603 {

   604          struct kszphy_hw_stat stat = kszphy_hw_stats[i];
   605          struct kszphy_priv *priv = phydev->priv;
   606          u64 val;
   607  
   608          val = phy_read(phydev, stat.reg);
   609          if (val < 0) {
                    ^^^^^^^

Unpossible!

   610                  val = UINT64_MAX;
   611          } else {
   612                  val = val & ((1 << stat.bits) - 1);
   613                  priv->stats[i] += val;
   614                  val = priv->stats[i];
   615          }
   616  
   617          return val;
   618  }

regards,
dan carpenter

#1 lore raw
Quoted 19 lines · Dan Carpenter

Hello Andrew Lunn,

The patch 2b2427d06426: "phy: micrel: Add ethtool statistics counters" from Dec 30, 2015, leads to the following static checker warning:

	drivers/net/phy/micrel.c:609 kszphy_get_stat()
	warn: unsigned 'val' is never less than zero.

drivers/net/phy/micrel.c
602 static u64 kszphy_get_stat(struct phy_device *phydev, int i)

   603  {
   604          struct kszphy_hw_stat stat = kszphy_hw_stats[i];
   605          struct kszphy_priv *priv = phydev->priv;
   606          u64 val;
   607  
   608          val = phy_read(phydev, stat.reg);
   609          if (val < 0) {
                    ^^^^^^^
Quoted 1 line

Unpossible!

Yep, will fix.

You might see the same from the Marvell phy driver...

Andrew