On Fri, Mar 20, 2026 at 06:05:41AM +0100, Aleksandr Loktionov wrote: > From: Lukasz Czapnik <[email protected]> > > When DCBX is disabled in firmware the driver falls back to software LLDP > mode and applies a default DCB configuration via ice_dcb_sw_dflt_cfg(). > This function properly initializes local_dcbx_cfg with valid parameters > including etscfg.maxtcs from hardware capabilities. However, > desired_dcbx_cfg was never initialized in this path. > > All DCB netlink functions (ice_dcbnl_setpfc, ice_dcbnl_setets, etc.) > use desired_dcbx_cfg as the base configuration for user-requested changes. > When desired_dcbx_cfg remains uninitialized with etscfg.maxtcs=0, the > firmware rejects the configuration for 4+ port NICs, causing DCB > configuration commands to fail. > > It is not a problem for 1 or 2 port NICs where we support 8 TCs - in > that case FW accepts maxtc=0, treating it as 8. > > Fix it by copying local_dcbx_cfg (which was freshly initialized) into > desired_dcbx_cfg after the default config is applied. > > Fixes: b94b013eb626 ("ice: Implement DCBNL support") > Signed-off-by: Lukasz Czapnik <[email protected]> > Signed-off-by: Aleksandr Loktionov <[email protected]>
Reviewed-by: Simon Horman <[email protected]>
