diff options
author | Jacob Keller <jacob.e.keller@intel.com> | 2024-09-09 16:07:44 -0700 |
---|---|---|
committer | Tony Nguyen <anthony.l.nguyen@intel.com> | 2024-10-08 14:37:15 -0700 |
commit | a884c304e18a40e1c7a6525a9274e64c2c061c3f (patch) | |
tree | a8ff68f0e2234cfe69a37233a6fd50be563bfc19 /drivers/net/ethernet/intel/ice/ice_main.c | |
parent | 59f4d59b25aec39a015c0949f4ec235c7a839c44 (diff) | |
download | linux-a884c304e18a40e1c7a6525a9274e64c2c061c3f.tar.gz linux-a884c304e18a40e1c7a6525a9274e64c2c061c3f.tar.bz2 linux-a884c304e18a40e1c7a6525a9274e64c2c061c3f.zip |
ice: consistently use q_idx in ice_vc_cfg_qs_msg()
The ice_vc_cfg_qs_msg() function is used to configure VF queues in response
to a VIRTCHNL_OP_CONFIG_VSI_QUEUES command.
The virtchnl command contains an array of queue pair data for configuring
Tx and Rx queues. This data includes a queue ID. When configuring the
queues, the driver generally uses this queue ID to determine which Tx and
Rx ring to program. However, a handful of places use the index into the
queue pair data from the VF. While most VF implementations appear to send
this data in order, it is not mandated by the virtchnl and it is not
verified that the queue pair data comes in order.
Fix the driver to consistently use the q_idx field instead of the 'i'
iterator value when accessing the rings. For the Rx case, introduce a local
ring variable to keep lines short.
Fixes: 7ad15440acf8 ("ice: Refactor VIRTCHNL_OP_CONFIG_VSI_QUEUES handling")
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Rafal Romanowski <rafal.romanowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_main.c')
0 files changed, 0 insertions, 0 deletions