Patch "fm10k: fix mis-ordered parameters in declaration for .ndo_set_vf_bw" has been added to the 4.14-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
fm10k: fix mis-ordered parameters in declaration for .ndo_set_vf_bw
to the 4.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
fm10k-fix-mis-ordered-parameters-in-declaration-for-.ndo_set_vf_bw.patch
and it can be found in the queue-4.14 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Wed Dec 20 18:17:52 CET 2017
From: Jacob Keller <[email protected]>
Date: Fri, 11 Aug 2017 11:14:58 -0700
Subject: fm10k: fix mis-ordered parameters in declaration for .ndo_set_vf_bw
From: Jacob Keller <[email protected]>
[ Upstream commit 3e256ac5b1ec307e5dd5a4c99fbdbc651446c738 ]
We've had support for setting both a minimum and maximum bandwidth via .ndo_set_vf_bw since commit 883a9ccbae56 ("fm10k: Add support for SR-IOV to driver", 2014-09-20).
Likely because we do not support minimum rates, the declaration mis-ordered the "unused" parameter, which causes warnings when analyzed with cppcheck.
Fix this warning by properly declaring the min_rate and max_rate variables in the declaration and definition (rather than using "unused"). Also rename "rate" to max_rate so as to clarify that we only support setting the maximum rate.
--- drivers/net/ethernet/intel/fm10k/fm10k.h | 4 ++-- drivers/net/ethernet/intel/fm10k/fm10k_iov.c | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-)
drivers/net/ethernet/intel/fm10k/fm10k.h +2 -2
@@ -526,8 +526,8 @@ s32 fm10k_iov_update_pvid(struct fm10k_iint fm10k_ndo_set_vf_mac (struct net_device *netdev,int vf_idx,u8 *mac);int fm10k_ndo_set_vf_vlan (struct net_device *netdev,int vf_idx,u16 vid,u8 qos,__be16 vlan_proto); -int fm10k_ndo_set_vf_bw (struct net_device *netdev,int vf_idx,int rate, -int unused); +int fm10k_ndo_set_vf_bw (struct net_device *netdev,int vf_idx, +int __always_unused min_rate,int max_rate);int fm10k_ndo_get_vf_config (struct net_device *netdev,int vf_idx,struct ifla_vf_info *ivi);
drivers/net/ethernet/intel/fm10k/fm10k_iov.c +5 -4
@@ -482,7 +482,7 @@ int fm10k_ndo_set_vf_vlan(struct net_dev }int fm10k_ndo_set_vf_bw (struct net_device *netdev,int vf_idx, -int __always_unused unused,int rate) +int __always_unused min_rate,int max_rate) {struct fm10k_intfc *interface =netdev_priv (netdev);struct fm10k_iov_data *iov_data = interface->iov_data;
@@ -493,14 +493,15 @@ int fm10k_ndo_set_vf_bw(struct net_devicreturn -EINVAL ;/* rate limit cannot be less than 10Mbs or greater than link speed */ -if (rate && ((rate <FM10K_VF_TC_MIN ) || rate >FM10K_VF_TC_MAX )) +if (max_rate && + (max_rate <FM10K_VF_TC_MIN || max_rate >FM10K_VF_TC_MAX ))return -EINVAL ;/* store values */ - iov_data->vf_info[vf_idx].rate = rate; + iov_data->vf_info[vf_idx].rate = max_rate;/* update hardware configuration */ - hw->iov.ops.configure_tc (hw, vf_idx, rate); + hw->iov.ops.configure_tc (hw, vf_idx, max_rate);return 0 ; }
Patches currently in stable-queue which might be from [email protected] are
queue-4.14/fm10k-fix-mis-ordered-parameters-in-declaration-for-.ndo_set_vf_bw.patch queue-4.14/fm10k-ensure-we-process-sm-mbx-when-processing-vf-mbx.patch queue-4.14/i40e-i40evf-spread-cpu-affinity-hints-across-online-cpus-only.patch