aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
diff options
context:
space:
mode:
authorMitch Williams <mitch.a.williams@intel.com>2014-04-09 05:58:56 +0000
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2014-05-29 02:22:07 -0700
commitdac9b31a18d2cd50625fd1fe3a4704dbc6d25457 (patch)
tree2dca8c386517bda7ab0ea6e6e4d3015d2bc9674e /drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
parenti40e: enable descriptor prefetch for VFs (diff)
downloadlinux-dev-dac9b31a18d2cd50625fd1fe3a4704dbc6d25457.tar.xz
linux-dev-dac9b31a18d2cd50625fd1fe3a4704dbc6d25457.zip
i40evf: don't round Tx rate down to 0
Because the hardware configures VF Tx rates in increments of 50 Mbps, values smaller than that would be rounded down to 0, which was interpreted as no limit at all. Rather than do this, we round up to 50 Mbps and notify the user. Change-ID: I5275848233fe7514cf93e11323661c68f4c38737 Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Tested-by: Sibai Li <sibai.li@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to '')
-rw-r--r--drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index 7ab40ffd5a54..395c546166c3 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -2258,6 +2258,11 @@ int i40e_ndo_set_vf_bw(struct net_device *netdev, int vf_id, int min_tx_rate,
goto error;
}
+ if ((max_tx_rate < 50) && (max_tx_rate > 0)) {
+ dev_warn(&pf->pdev->dev, "Setting max Tx rate to minimum usable value of 50Mbps.\n");
+ max_tx_rate = 50;
+ }
+
/* Tx rate credits are in values of 50Mbps, 0 is disabled*/
ret = i40e_aq_config_vsi_bw_limit(&pf->hw, vsi->seid, max_tx_rate / 50,
0, NULL);