On Wed, 2017-10-25 at 14:41 +0800, kbuild test robot wrote: > Hi Steven, > > [auto build test WARNING on net-next/master] > [also build test WARNING on v4.14-rc6] > [if your patch is applied to the wrong git tree, please drop us a note to > help improve the system] > > url: > https://github.com/0day-ci/linux/commits/Steven-J-Hill/ethernet-cavium-octeon-Switch-to-using-netdev_info/20171024-071910 > config: mips-cavium_octeon_defconfig (attached as .config) > compiler: mips64-linux-gnuabi64-gcc (Debian 6.1.1-9) 6.1.1 20160705 > reproduce: > wget > https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O > ~/bin/make.cross > chmod +x ~/bin/make.cross > # save the attached .config to linux build tree > make.cross ARCH=mips > > All warnings (new ones prefixed by >>): > > drivers/net/ethernet/cavium/octeon/octeon_mgmt.c: In function > 'octeon_mgmt_adjust_link': > > > drivers/net/ethernet/cavium/octeon/octeon_mgmt.c:929:5: warning: suggest > > > explicit braces to avoid ambiguous 'else' [-Wparentheses] > > if (link_changed != 0) > ^ > > vim +/else +929 drivers/net/ethernet/cavium/octeon/octeon_mgmt.c > > 896 > 897 static void octeon_mgmt_adjust_link(struct net_device *netdev) > 898 { > 899 struct octeon_mgmt *p = netdev_priv(netdev); > 900 struct phy_device *phydev = netdev->phydev; > 901 unsigned long flags; > 902 int link_changed = 0; > 903 > 904 if (!phydev) > 905 return; > 906 > 907 spin_lock_irqsave(&p->lock, flags); > 908 > 909 > 910 if (!phydev->link && p->last_link) > 911 link_changed = -1; > 912 > 913 if (phydev->link && > 914 (p->last_duplex != phydev->duplex || > 915 p->last_link != phydev->link || > 916 p->last_speed != phydev->speed)) { > 917 octeon_mgmt_disable_link(p); > 918 link_changed = 1; > 919 octeon_mgmt_update_link(p); > 920 octeon_mgmt_enable_link(p); > 921 } > 922 > 923 p->last_link = phydev->link; > 924 p->last_speed = phydev->speed; > 925 p->last_duplex = phydev->duplex; > 926 > 927 spin_unlock_irqrestore(&p->lock, flags); > 928 > > 929 if (link_changed != 0) > 930 if (link_changed > 0) > 931 netdev_info(netdev, "Link is up - > %d/%s\n", > 932 phydev->speed, phydev->duplex > == DUPLEX_FULL ? "Full" : "Half"); > 933 else > 934 netdev_info(netdev, "Link is down\n"); > 935 } > 936
I think this would be better as if (!phydev_link) { if (p->last_link) link_changed = -1; } else if (p->last_duplex != phydev->duplex || p->last_link != phydev->link || p->last_speed != phydev->speed) { link_changed = 1; octeon_mgnt_disable_link(p); octeon_mgnt_update_link(p); octeon_mgnt_enable_link(p); } ... if (link_changed > 0) netdev_info(netdev, "Link is up - %d/%s\n", phydev->speed, phydev->duplex == DUPLEX_FULL ? "Full" : "Half"); else if (link_changed < 0) netdev_info(netdev, "Link is down\n");