ixgbe: fix return values and memcpy parameters to eliminate Smatch warnings
authorJosh Hay <joshua.a.hay@intel.com>
Fri, 4 Jan 2013 03:34:42 +0000 (03:34 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 5 Feb 2013 09:44:04 +0000 (01:44 -0800)
This patch removes the rval variable returns from function and replaces
them with direct returns in ixgbe_dcbnl_getnumtcs. It also changes how
ixgbe_gstrings_test is copied into data with memcpy in ixgbe_get_strings
because "*ixgbe_gstrings_test too small (32 vs 160)".

Signed-off-by: Josh Hay <joshua.a.hay@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c

index c261333438bf758d6434dd6bc07b35098e0605a0..373559010da0137604c4e2d252685a73ae21959b 100644 (file)
@@ -449,7 +449,6 @@ static u8 ixgbe_dcbnl_getcap(struct net_device *netdev, int capid, u8 *cap)
 static int ixgbe_dcbnl_getnumtcs(struct net_device *netdev, int tcid, u8 *num)
 {
        struct ixgbe_adapter *adapter = netdev_priv(netdev);
-       u8 rval = 0;
 
        if (adapter->flags & IXGBE_FLAG_DCB_ENABLED) {
                switch (tcid) {
@@ -460,14 +459,14 @@ static int ixgbe_dcbnl_getnumtcs(struct net_device *netdev, int tcid, u8 *num)
                        *num = adapter->dcb_cfg.num_tcs.pfc_tcs;
                        break;
                default:
-                       rval = -EINVAL;
+                       return -EINVAL;
                        break;
                }
        } else {
-               rval = -EINVAL;
+               return -EINVAL;
        }
 
-       return rval;
+       return 0;
 }
 
 static int ixgbe_dcbnl_setnumtcs(struct net_device *netdev, int tcid, u8 num)
index bafd141193af2ad5db16ebdb1d0864e5b420f049..355ca085ed0513287a679b4693505b120c01fbf3 100644 (file)
@@ -1099,8 +1099,10 @@ static void ixgbe_get_strings(struct net_device *netdev, u32 stringset,
 
        switch (stringset) {
        case ETH_SS_TEST:
-               memcpy(data, *ixgbe_gstrings_test,
-                      IXGBE_TEST_LEN * ETH_GSTRING_LEN);
+               for (i = 0; i < IXGBE_TEST_LEN; i++) {
+                       memcpy(data, ixgbe_gstrings_test[i], ETH_GSTRING_LEN);
+                       data += ETH_GSTRING_LEN;
+               }
                break;
        case ETH_SS_STATS:
                for (i = 0; i < IXGBE_GLOBAL_STATS_LEN; i++) {