From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vitaly Kuznetsov Subject: Re: [PATCH net] hv_netvsc: preserve hw_features on mtu/channels/ringparam changes Date: Wed, 15 Nov 2017 10:42:51 +0100 Message-ID: <87efozop2c.fsf@vitty.brq.redhat.com> References: <20171114152205.10943-1-vkuznets@redhat.com> <20171114083457.5ec8c4f0@xeon-e3> <871sl0u79s.fsf@vitty.brq.redhat.com> Mime-Version: 1.0 Content-Type: text/plain Cc: Stephen Hemminger , "netdev\@vger.kernel.org" , "linux-kernel\@vger.kernel.org" , "devel\@linuxdriverproject.org" , KY Srinivasan , Stephen Hemminger , "Mohammed Gamal" To: Haiyang Zhang Return-path: In-Reply-To: (Haiyang Zhang's message of "Tue, 14 Nov 2017 21:48:50 +0000") Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org Haiyang Zhang writes: >> -----Original Message----- >> From: Vitaly Kuznetsov [mailto:vkuznets@redhat.com] >> Sent: Tuesday, November 14, 2017 11:58 AM >> To: Stephen Hemminger >> Cc: netdev@vger.kernel.org; linux-kernel@vger.kernel.org; >> devel@linuxdriverproject.org; KY Srinivasan ; Haiyang >> Zhang ; Stephen Hemminger >> ; Mohammed Gamal >> Subject: Re: [PATCH net] hv_netvsc: preserve hw_features on >> mtu/channels/ringparam changes >> >> Stephen Hemminger writes: >> >> > On Tue, 14 Nov 2017 16:22:05 +0100 >> > Vitaly Kuznetsov 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(). > > After remove/re-add RNDIS dev, you should pass the parameters to the host > again. > Thanks, this changes a lot. I'll prepare v2. -- Vitaly