From: Lukasz Czapnik <[email protected]>

Ensure idx is within range of active/initialized TCs when iterating over
vf->ch[idx] in i40e_vc_config_queues_msg().

Fixes: c27eac48160d ("i40e: Enable ADq and create queue channel/s on VF")
Cc: [email protected]
Signed-off-by: Lukasz Czapnik <[email protected]>
Reviewed-by: Aleksandr Loktionov <[email protected]>
Signed-off-by: Przemek Kitszel <[email protected]>
---
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c 
b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index 1c4f86221255..b6db4d78c02d 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -2395,7 +2395,7 @@ static int i40e_vc_config_queues_msg(struct i40e_vf *vf, 
u8 *msg)
                }
 
                if (vf->adq_enabled) {
-                       if (idx >= ARRAY_SIZE(vf->ch)) {
+                       if (idx >= vf->num_tc) {
                                aq_ret = -ENODEV;
                                goto error_param;
                        }
@@ -2416,7 +2416,7 @@ static int i40e_vc_config_queues_msg(struct i40e_vf *vf, 
u8 *msg)
                 * to its appropriate VSIs based on TC mapping
                 */
                if (vf->adq_enabled) {
-                       if (idx >= ARRAY_SIZE(vf->ch)) {
+                       if (idx >= vf->num_tc) {
                                aq_ret = -ENODEV;
                                goto error_param;
                        }
-- 
2.50.0

Reply via email to