Currently, the code allows ETS bandwidth weight 0 to be set on unused TCs.
We should not set any DCB parameters on unused TCs at all.

Signed-off-by: Michael Chan <michael.c...@broadcom.com>
---
 drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c 
b/drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c
index a85d2be..15c7041 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c
@@ -471,7 +471,10 @@ static int bnxt_ets_validate(struct bnxt *bp, struct 
ieee_ets *ets, u8 *tc)
        if (total_ets_bw > 100)
                return -EINVAL;
 
-       *tc = max_tc + 1;
+       if (max_tc >= bp->max_tc)
+               *tc = bp->max_tc;
+       else
+               *tc = max_tc + 1;
        return 0;
 }
 
-- 
2.5.1

Reply via email to