diff options
author | Haiyang Zhang <haiyangz@microsoft.com> | 2016-03-23 09:43:10 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-03-23 14:38:55 -0400 |
commit | 9efc2f7dcd06e04d7b6a3032ae65bfd628b1aebe (patch) | |
tree | b1177296ef91d34aadc8307915de09240e76eaf9 /drivers/net/hyperv/rndis_filter.c | |
parent | d212b4633c3a99561939f2d423eacf3263850bcd (diff) | |
download | op-kernel-dev-9efc2f7dcd06e04d7b6a3032ae65bfd628b1aebe.zip op-kernel-dev-9efc2f7dcd06e04d7b6a3032ae65bfd628b1aebe.tar.gz |
hv_netvsc: Fix the array sizes to be max supported channels
The VRSS_CHANNEL_MAX is the max number of channels supported by Hyper-V
hosts. We use it for the related array sizes instead of using NR_CPUS,
which may be set to several thousands.
This patch reduces possible memory allocation failures.
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Reviewed-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/hyperv/rndis_filter.c')
-rw-r--r-- | drivers/net/hyperv/rndis_filter.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/hyperv/rndis_filter.c b/drivers/net/hyperv/rndis_filter.c index 47d07c5..d5a54da 100644 --- a/drivers/net/hyperv/rndis_filter.c +++ b/drivers/net/hyperv/rndis_filter.c @@ -1113,9 +1113,9 @@ int rndis_filter_device_add(struct hv_device *dev, if (ret || rsscap.num_recv_que < 2) goto out; - num_rss_qs = min(device_info->max_num_vrss_chns, rsscap.num_recv_que); + net_device->max_chn = min_t(u32, VRSS_CHANNEL_MAX, rsscap.num_recv_que); - net_device->max_chn = rsscap.num_recv_que; + num_rss_qs = min(device_info->max_num_vrss_chns, net_device->max_chn); /* * We will limit the VRSS channels to the number CPUs in the NUMA node |