be2net: fix range check for set_qos for a VF
Subsystems (3)
PATCH 2/3 be2net: fix range check for set_qos for a VF
Signed-off-by Ajit Khaparde <[email protected]>
--- drivers/net/ethernet/emulex/benet/be_main.c | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-)
drivers/net/ethernet/emulex/benet/be_main.c +9 -5
@@ -978,18 +978,22 @@ static int be_set_vf_tx_rate(struct net_device *netdev,if (!sriov_enabled (adapter))return -EPERM ; -if (vf >= adapter->num_vfs || rate <0 ) +if (vf >= adapter->num_vfs)return -EINVAL ; -if (rate >10000 ) - rate =10000 ; +if (rate <100 || rate >10000 ) { +dev_err (&adapter->pdev->dev, +"tx rate must be between 100 and 10000 Mbps\n" ); +return -EINVAL ; + } - adapter->vf_cfg[vf].tx_rate = rate; status =be_cmd_set_qos (adapter, rate /10 , vf +1 );if (status) -dev_info (&adapter->pdev->dev, +dev_err (&adapter->pdev->dev,"tx rate %d on VF %d failed\n" , rate, vf); +else + adapter->vf_cfg[vf].tx_rate = rate;return status; }
Signature · 1 line
1.7.5.4