[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20171116.105020.531343456067273262.davem@davemloft.net>
Date: Thu, 16 Nov 2017 10:50:20 +0900 (KST)
From: David Miller <davem@...emloft.net>
To: vkuznets@...hat.com
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
devel@...uxdriverproject.org, kys@...rosoft.com,
haiyangz@...rosoft.com, sthemmin@...rosoft.com, mmorsy@...hat.com
Subject: Re: [PATCH net v2] hv_netvsc: preserve hw_features on
mtu/channels/ringparam changes
From: Vitaly Kuznetsov <vkuznets@...hat.com>
Date: Wed, 15 Nov 2017 15:12:55 +0100
> rndis_filter_device_add() is called both from netvsc_probe() when we
> initially create the device and from set channels/mtu/ringparam
> routines where we basically remove the device and add it back.
>
> hw_features is reset in rndis_filter_device_add() and filled with
> host data. However, we lose all additional flags which are set outside
> of the driver, e.g. register_netdevice() adds NETIF_F_SOFT_FEATURES and
> many others.
>
> Unfortunately, calls to rndis_{query_hwcaps(), _set_offload_params()}
> calls cannot be avoided on every RNDIS reset: host expects us to set
> required features explicitly. Moreover, in theory hardware capabilities
> can change and we need to reflect the change in hw_features.
>
> Reset net->hw_features bits according to host data in
> rndis_netdev_set_hwcaps(), clear corresponding feature bits
> from net->features in case some features went missing (will never happen
> in real life I guess but let's be consistent).
>
> Signed-off-by: Vitaly Kuznetsov <vkuznets@...hat.com>
Applied.
Powered by blists - more mailing lists