Subject: Re: [PATCH net] hv_netvsc: preserve hw_features on mtu/channels/ringparam changes

From: Vitaly Kuznetsov <[email-masked]>
Date: Tue, 14 Nov 2017 17:58:23 +0100

Stephen Hemminger <[email-masked]> writes:

> On Tue, 14 Nov 2017 16:22:05 +0100
> Vitaly Kuznetsov <[email-masked]> wrote:
>
> Yes, this looks like a real issue.
>
>> +	/* Query hardware capabilities if we're called from netvsc_probe() */
>> +	if (!net->hw_features) {
>> +		ret = rndis_netdev_set_hwcaps(net_device, rndis_device);
>> +		if (ret != 0)
>> +			goto err_dev_remv;
>> +	}
>> +
>
> Rather than conditional behavior in rndis_filter_device_add, it would be cleaner
> to make the call to get hardware capabilities there.
>
> Please respin and make the query of host a separate function.

You mean call rndis_netdev_set_hwcaps() from netvsc_probe()? Will do.

One question though: in case we'll be avoiding
rndis_filter_set_offload_params() call on mtu/channels/ringparam
changes -- can we trust the host to preserve what was there before the
RNDIS reset? In case not we'll have to untangle what is
rndis_netdev_set_hwcaps() in my patch splitting it into two: hw_features
setup and rndis_filter_set_offload_params() and leaving the later in
rndis_filter_device_add().

Thanks,

-- 
  Vitaly