From: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> 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@xxxxxxxxxx> Applied. _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel