ice: report correct max number of TCs
authorDave Ertman <david.m.ertman@intel.com>
Wed, 2 Sep 2020 15:53:44 +0000 (08:53 -0700)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Mon, 22 Feb 2021 18:22:07 +0000 (10:22 -0800)
In the driver currently, we are reporting max number of TCs
to the DCBNL callback as a kernel define set to 8.  This is
preventing userspace applications performing DCBx to correctly
down map the TCs from requested to actual values.

Report the actual max TC value to userspace from the capability
struct.

Fixes: b94b013eb626 ("ice: Implement DCBNL support")
Signed-off-by: Dave Ertman <david.m.ertman@intel.com>
Tested-by: Tony Brelinski <tonyx.brelinski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_dcb_nl.c

index fcfefad..299bf7e 100644 (file)
@@ -134,7 +134,7 @@ ice_dcbnl_getnumtcs(struct net_device *dev, int __always_unused tcid, u8 *num)
        if (!test_bit(ICE_FLAG_DCB_CAPABLE, pf->flags))
                return -EINVAL;
 
-       *num = IEEE_8021QAZ_MAX_TCS;
+       *num = pf->hw.func_caps.common_cap.maxtc;
        return 0;
 }