diff options
author | Ajit Khaparde <ajit.khaparde@emulex.com> | 2011-12-30 07:15:30 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-12-30 17:19:21 -0500 |
commit | 94f434c2055db5fe20f10d4e0ec50ab395e1f62b (patch) | |
tree | e64ef47b5b826dc98e6f6224b715892e460aa58d /drivers/net/ethernet | |
parent | 80817cbf5ac13da76f3ee2b9259f26c09b385e84 (diff) |
be2net: fix range check for set_qos for a VF
Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r-- | drivers/net/ethernet/emulex/benet/be_main.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c index 10f2313edbe7..fe702c1c866d 100644 --- a/drivers/net/ethernet/emulex/benet/be_main.c +++ b/drivers/net/ethernet/emulex/benet/be_main.c | |||
@@ -978,18 +978,22 @@ static int be_set_vf_tx_rate(struct net_device *netdev, | |||
978 | if (!sriov_enabled(adapter)) | 978 | if (!sriov_enabled(adapter)) |
979 | return -EPERM; | 979 | return -EPERM; |
980 | 980 | ||
981 | if (vf >= adapter->num_vfs || rate < 0) | 981 | if (vf >= adapter->num_vfs) |
982 | return -EINVAL; | 982 | return -EINVAL; |
983 | 983 | ||
984 | if (rate > 10000) | 984 | if (rate < 100 || rate > 10000) { |
985 | rate = 10000; | 985 | dev_err(&adapter->pdev->dev, |
986 | "tx rate must be between 100 and 10000 Mbps\n"); | ||
987 | return -EINVAL; | ||
988 | } | ||
986 | 989 | ||
987 | adapter->vf_cfg[vf].tx_rate = rate; | ||
988 | status = be_cmd_set_qos(adapter, rate / 10, vf + 1); | 990 | status = be_cmd_set_qos(adapter, rate / 10, vf + 1); |
989 | 991 | ||
990 | if (status) | 992 | if (status) |
991 | dev_info(&adapter->pdev->dev, | 993 | dev_err(&adapter->pdev->dev, |
992 | "tx rate %d on VF %d failed\n", rate, vf); | 994 | "tx rate %d on VF %d failed\n", rate, vf); |
995 | else | ||
996 | adapter->vf_cfg[vf].tx_rate = rate; | ||
993 | return status; | 997 | return status; |
994 | } | 998 | } |
995 | 999 | ||