Skip to content

Commit bbf0bdd

Browse files
anambiarinJeff Kirsher
authored andcommitted
i40e: Fix channel addition in reset flow
Fix recreating the channel VSIs during the reset flow to reconfigure the Tx rings and the queue context associated with the channel VSI. Also update the next_base_queue for the VSI while rebuilding the channel VSIs after a reset. Signed-off-by: Amritha Nambiar <[email protected]> Tested-by: Andrew Bowers <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
1 parent e0346f9 commit bbf0bdd

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

drivers/net/ethernet/intel/i40e/i40e_main.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9007,6 +9007,17 @@ static int i40e_rebuild_channels(struct i40e_vsi *vsi)
90079007
vsi->uplink_seid);
90089008
return ret;
90099009
}
9010+
/* Reconfigure TX queues using QTX_CTL register */
9011+
ret = i40e_channel_config_tx_ring(vsi->back, vsi, ch);
9012+
if (ret) {
9013+
dev_info(&vsi->back->pdev->dev,
9014+
"failed to configure TX rings for channel %u\n",
9015+
ch->seid);
9016+
return ret;
9017+
}
9018+
/* update 'next_base_queue' */
9019+
vsi->next_base_queue = vsi->next_base_queue +
9020+
ch->num_queue_pairs;
90109021
if (ch->max_tx_rate) {
90119022
u64 credits = ch->max_tx_rate;
90129023

0 commit comments

Comments
 (0)