ice: SW DCB, report correct max TC value
authorDave Ertman <david.m.ertman@intel.com>
Thu, 13 Feb 2020 21:31:21 +0000 (13:31 -0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 19 Feb 2020 21:09:20 +0000 (13:09 -0800)
lldpad is using the value reported in the DCB config for
max_tc as the max allowed number of TCs, not the current
max.  ICE driver was reporting it as current maximum TC.

Change DCB_NL function to report maximum TC allowed by
this device.

Signed-off-by: Dave Ertman <david.m.ertman@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ice/ice_dcb_nl.c

index 589b820a6b5b0e68a9e7cfde76fc87d78d479f5c..c4c12414083a914454ddf445c4d004ececc618c2 100644 (file)
@@ -100,14 +100,7 @@ static int ice_dcbnl_setets(struct net_device *netdev, struct ieee_ets *ets)
                goto ets_out;
        }
 
-       /* max_tc is a 1-8 value count of number of TC's, not a 0-7 value
-        * for the TC's index number.  Add one to value if not zero, and
-        * for zero set it to the FW's default value
-        */
-       if (max_tc)
-               max_tc++;
-       else
-               max_tc = IEEE_8021QAZ_MAX_TCS;
+       max_tc = pf->hw.func_caps.common_cap.maxtc;
 
        new_cfg->etscfg.maxtcs = max_tc;