]> git.ipfire.org Git - people/arne_f/kernel.git/commit
hv_netvsc: Fix unwanted rx_table reset
authorHaiyang Zhang <haiyangz@microsoft.com>
Fri, 20 Dec 2019 02:28:10 +0000 (18:28 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 12 Jan 2020 11:12:01 +0000 (12:12 +0100)
commit1051a28b7255e6624d379f2bd45713352f9470cf
tree61b4d0fd5459a86ba35a36de7ed21268286af761
parent3a8d4b961747e79a9d28e9f7621216045403b2bb
hv_netvsc: Fix unwanted rx_table reset

[ Upstream commit b0689faa8efc5a3391402d7ae93bd373b7248e51 ]

In existing code, the receive indirection table, rx_table, is in
struct rndis_device, which will be reset when changing MTU, ringparam,
etc. User configured receive indirection table values will be lost.

To fix this, move rx_table to struct net_device_context, and check
netif_is_rxfh_configured(), so rx_table will be set to default only
if no user configured value.

Fixes: ff4a44199012 ("netvsc: allow get/set of RSS indirection table")
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/hyperv/hyperv_net.h
drivers/net/hyperv/netvsc_drv.c
drivers/net/hyperv/rndis_filter.c