> -----Original Message----- > From: Vitaly Kuznetsov [mailto:[email protected]] > Sent: Wednesday, November 15, 2017 9:13 AM > To: [email protected] > Cc: [email protected]; [email protected]; KY > Srinivasan <[email protected]>; Haiyang Zhang > <[email protected]>; Stephen Hemminger > <[email protected]>; Mohammed Gamal <[email protected]> > Subject: [PATCH net v2] hv_netvsc: preserve hw_features on > mtu/channels/ringparam changes > > 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 <[email protected]>
Reviewed-by: Haiyang Zhang <[email protected]> Thank you! _______________________________________________ devel mailing list [email protected] http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
