@@ -554,8 +554,9 @@ void iavf_map_queues(struct iavf_adapter *adapter)

                vecmap->vsi_id = adapter->vsi_res->vsi_id;
                vecmap->vector_id = v_idx + NONQ_VECS;
-               vecmap->txq_map = q_vector->ring_mask;
-               vecmap->rxq_map = q_vector->ring_mask;
+               vecmap->txq_map = bitmap_read(q_vector->ring_mask, 0,
+                                             IAVF_MAX_REQ_QUEUES_VCV1);
It looks like a silent data loss on the legacy/V1 opcode path.
You read only 16 bits here.

and this VC opcode is used only with upto 16 now
next patch (11th) adds an early check in this function to dispatch
to new opcodes in the case that more than 16 queues are used

(so, no need for change IMO)


+               vecmap->rxq_map = vecmap->txq_map;
                vecmap->rxitr_idx = IAVF_RX_ITR;
                vecmap->txitr_idx = IAVF_TX_ITR;
        }
--
2.39.3


Reply via email to