Skip to content

Commit

Permalink
net/hns3: fix Rx/Tx queue numbers check
Browse files Browse the repository at this point in the history
The Rx/Tx queue numbers should be greater than TC number, this patch adds
this check for PF before updating the mapping between TC and queue.

Fixes: a951c1e ("net/hns3: support different numbers of Rx and Tx queues")
Fixes: 76d7945 ("net/hns3: maximize queue number")
Cc: [email protected]

Signed-off-by: Huisong Li <[email protected]>
Signed-off-by: Min Hu (Connor) <[email protected]>
  • Loading branch information
LiHuiSong1 authored and Ferruh Yigit committed May 18, 2021
1 parent 2838aa7 commit 16c08f0
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 12 deletions.
12 changes: 12 additions & 0 deletions drivers/net/hns3/hns3_dcb.c
Original file line number Diff line number Diff line change
Expand Up @@ -727,6 +727,18 @@ hns3_queue_to_tc_mapping(struct hns3_hw *hw, uint16_t nb_rx_q, uint16_t nb_tx_q)
{
int ret;

if (nb_rx_q < hw->num_tc) {
hns3_err(hw, "number of Rx queues(%u) is less than number of TC(%u).",
nb_rx_q, hw->num_tc);
return -EINVAL;
}

if (nb_tx_q < hw->num_tc) {
hns3_err(hw, "number of Tx queues(%u) is less than number of TC(%u).",
nb_tx_q, hw->num_tc);
return -EINVAL;
}

ret = hns3_set_rss_size(hw, nb_rx_q);
if (ret)
return ret;
Expand Down
12 changes: 0 additions & 12 deletions drivers/net/hns3/hns3_ethdev_vf.c
Original file line number Diff line number Diff line change
Expand Up @@ -1498,18 +1498,6 @@ hns3vf_set_tc_queue_mapping(struct hns3_adapter *hns, uint16_t nb_rx_q,
{
struct hns3_hw *hw = &hns->hw;

if (nb_rx_q < hw->num_tc) {
hns3_err(hw, "number of Rx queues(%u) is less than tcs(%u).",
nb_rx_q, hw->num_tc);
return -EINVAL;
}

if (nb_tx_q < hw->num_tc) {
hns3_err(hw, "number of Tx queues(%u) is less than tcs(%u).",
nb_tx_q, hw->num_tc);
return -EINVAL;
}

return hns3_queue_to_tc_mapping(hw, nb_rx_q, nb_tx_q);
}

Expand Down

0 comments on commit 16c08f0

Please sign in to comment.