FAILED: patch "[PATCH] iavf: Fix limit of total number of queues to active queues of" failed to apply to 4.19-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 4.19-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From b712941c8085e638bb92456e866ed3de4404e3d5 Mon Sep 17 00:00:00 2001
From: Karen Sornek <[email protected]>
Date: Wed, 1 Sep 2021 09:21:46 +0200
Subject: [PATCH] iavf: Fix limit of total number of queues to active queues of
VF
In the absence of this validation, if the user requests to configure queues more than the enabled queues, it results in sending the requested number of queues to the kernel stack (due to the asynchronous nature of VF response), in which case the stack might pick a queue to transmit that is not enabled and result in Tx hang. Fix this bug by limiting the total number of queues allocated for VF to active queues of VF.
drivers/net/ethernet/intel/iavf/iavf_main.c +4 -1
@@ -2708,8 +2708,11 @@ static int iavf_validate_ch_config(struct iavf_adapter *adapter, total_max_rate += tx_rate; num_qps += mqprio_qopt->qopt.count[i]; } -if (num_qps >IAVF_MAX_REQ_QUEUES ) +if (num_qps > adapter->num_active_queues) { +dev_err (&adapter->pdev->dev, +"Cannot support requested number of queues\n" );return -EINVAL ; + } ret =iavf_validate_tx_bandwidth (adapter, total_max_rate);return ret;