From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933134AbeEHWti (ORCPT ); Tue, 8 May 2018 18:49:38 -0400 Received: from mail-pl0-f66.google.com ([209.85.160.66]:36565 "EHLO mail-pl0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932133AbeEHWtg (ORCPT ); Tue, 8 May 2018 18:49:36 -0400 X-Google-Smtp-Source: AB8JxZreHghbIM//YRXADLUkhIWbvX3XCyuZyRp7fopZ6ZHhBOlMi0I9fhi/3xNHMrJgjUK37H5jJQ== Date: Tue, 8 May 2018 15:49:33 -0700 From: Stephen Hemminger To: Mohammed Gamal Cc: netdev@vger.kernel.org, sthemmin@microsoft.com, haiyangz@microsoft.com, linux-kernel@vger.kernel.org, devel@linuxdriverproject.org, vkuznets@redhat.com Subject: Re: [PATCH] hv_netvsc: Fix net device attach on older Windows hosts Message-ID: <20180508154933.1cf456ab@xeon-e3> In-Reply-To: <1525803471.4366.15.camel@redhat.com> References: <1525801247-27765-1-git-send-email-mgamal@redhat.com> <20180508111323.1767fc0c@xeon-e3> <1525803471.4366.15.camel@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id w48MnhZD020757 On Tue, 08 May 2018 20:17:51 +0200 Mohammed Gamal wrote: > On Tue, 2018-05-08 at 11:13 -0700, Stephen Hemminger wrote: > > On Tue,  8 May 2018 19:40:47 +0200 > > Mohammed Gamal wrote: > > > > > On older windows hosts the net_device instance is returned to > > > the caller of rndis_filter_device_add() without having the presence > > > bit set first. This would cause any subsequent calls to network > > > device > > > operations (e.g. MTU change, channel change) to fail after the > > > device > > > is detached once, returning -ENODEV. > > > > > > Make sure we explicitly call netif_device_attach() before returning > > > the net_device instance to make sure the presence bit is set > > > > > > Fixes: 7b2ee50c0cd5 ("hv_netvsc: common detach logic") > > > > > > Signed-off-by: Mohammed Gamal > > > --- > > >  drivers/net/hyperv/rndis_filter.c | 4 +++- > > >  1 file changed, 3 insertions(+), 1 deletion(-) > > > > > > diff --git a/drivers/net/hyperv/rndis_filter.c > > > b/drivers/net/hyperv/rndis_filter.c > > > index 6b127be..09a3c1d 100644 > > > --- a/drivers/net/hyperv/rndis_filter.c > > > +++ b/drivers/net/hyperv/rndis_filter.c > > > @@ -1287,8 +1287,10 @@ struct netvsc_device > > > *rndis_filter_device_add(struct hv_device *dev, > > >      rndis_device->hw_mac_adr, > > >      rndis_device->link_state ? "down" : "up"); > > >   > > > - if (net_device->nvsp_version < NVSP_PROTOCOL_VERSION_5) > > > + if (net_device->nvsp_version < NVSP_PROTOCOL_VERSION_5) { > > > + netif_device_attach(net); > > >   return net_device; > > > + } > > > > Yes, this looks right, but it might be easier to use goto existing > > exit > > path. > > > > I was just not sure if we should set max_chn and num_chn here. I will > modify the patch and resend. On older code it was just a goto. At that point: num_chn = max_chn = 1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: [PATCH] hv_netvsc: Fix net device attach on older Windows hosts Date: Tue, 8 May 2018 15:49:33 -0700 Message-ID: <20180508154933.1cf456ab@xeon-e3> References: <1525801247-27765-1-git-send-email-mgamal@redhat.com> <20180508111323.1767fc0c@xeon-e3> <1525803471.4366.15.camel@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: sthemmin@microsoft.com, netdev@vger.kernel.org, haiyangz@microsoft.com, linux-kernel@vger.kernel.org, devel@linuxdriverproject.org, vkuznets@redhat.com To: Mohammed Gamal Return-path: In-Reply-To: <1525803471.4366.15.camel@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" List-Id: netdev.vger.kernel.org T24gVHVlLCAwOCBNYXkgMjAxOCAyMDoxNzo1MSArMDIwMApNb2hhbW1lZCBHYW1hbCA8bWdhbWFs QHJlZGhhdC5jb20+IHdyb3RlOgoKPiBPbiBUdWUsIDIwMTgtMDUtMDggYXQgMTE6MTMgLTA3MDAs IFN0ZXBoZW4gSGVtbWluZ2VyIHdyb3RlOgo+ID4gT24gVHVlLMKgwqA4IE1heSAyMDE4IDE5OjQw OjQ3ICswMjAwCj4gPiBNb2hhbW1lZCBHYW1hbCA8bWdhbWFsQHJlZGhhdC5jb20+IHdyb3RlOgo+ ID4gICAKPiA+ID4gT24gb2xkZXIgd2luZG93cyBob3N0cyB0aGUgbmV0X2RldmljZSBpbnN0YW5j ZSBpcyByZXR1cm5lZCB0bwo+ID4gPiB0aGUgY2FsbGVyIG9mIHJuZGlzX2ZpbHRlcl9kZXZpY2Vf YWRkKCkgd2l0aG91dCBoYXZpbmcgdGhlIHByZXNlbmNlCj4gPiA+IGJpdCBzZXQgZmlyc3QuIFRo aXMgd291bGQgY2F1c2UgYW55IHN1YnNlcXVlbnQgY2FsbHMgdG8gbmV0d29yawo+ID4gPiBkZXZp Y2UKPiA+ID4gb3BlcmF0aW9ucyAoZS5nLiBNVFUgY2hhbmdlLCBjaGFubmVsIGNoYW5nZSkgdG8g ZmFpbCBhZnRlciB0aGUKPiA+ID4gZGV2aWNlCj4gPiA+IGlzIGRldGFjaGVkIG9uY2UsIHJldHVy bmluZyAtRU5PREVWLgo+ID4gPiAKPiA+ID4gTWFrZSBzdXJlIHdlIGV4cGxpY2l0bHkgY2FsbCBu ZXRpZl9kZXZpY2VfYXR0YWNoKCkgYmVmb3JlIHJldHVybmluZwo+ID4gPiB0aGUgbmV0X2Rldmlj ZSBpbnN0YW5jZSB0byBtYWtlIHN1cmUgdGhlIHByZXNlbmNlIGJpdCBpcyBzZXQKPiA+ID4gCj4g PiA+IEZpeGVzOiA3YjJlZTUwYzBjZDUgKCJodl9uZXR2c2M6IGNvbW1vbiBkZXRhY2ggbG9naWMi KQo+ID4gPiAKPiA+ID4gU2lnbmVkLW9mZi1ieTogTW9oYW1tZWQgR2FtYWwgPG1nYW1hbEByZWRo YXQuY29tPgo+ID4gPiAtLS0KPiA+ID4gwqBkcml2ZXJzL25ldC9oeXBlcnYvcm5kaXNfZmlsdGVy LmMgfCA0ICsrKy0KPiA+ID4gwqAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaHlwZXJ2L3Ju ZGlzX2ZpbHRlci5jCj4gPiA+IGIvZHJpdmVycy9uZXQvaHlwZXJ2L3JuZGlzX2ZpbHRlci5jCj4g PiA+IGluZGV4IDZiMTI3YmUuLjA5YTNjMWQgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvbmV0 L2h5cGVydi9ybmRpc19maWx0ZXIuYwo+ID4gPiArKysgYi9kcml2ZXJzL25ldC9oeXBlcnYvcm5k aXNfZmlsdGVyLmMKPiA+ID4gQEAgLTEyODcsOCArMTI4NywxMCBAQCBzdHJ1Y3QgbmV0dnNjX2Rl dmljZQo+ID4gPiAqcm5kaXNfZmlsdGVyX2RldmljZV9hZGQoc3RydWN0IGh2X2RldmljZSAqZGV2 LAo+ID4gPiDCoAkJwqDCoMKgcm5kaXNfZGV2aWNlLT5od19tYWNfYWRyLAo+ID4gPiDCoAkJwqDC oMKgcm5kaXNfZGV2aWNlLT5saW5rX3N0YXRlID8gImRvd24iIDogInVwIik7Cj4gPiA+IMKgCj4g PiA+IC0JaWYgKG5ldF9kZXZpY2UtPm52c3BfdmVyc2lvbiA8IE5WU1BfUFJPVE9DT0xfVkVSU0lP Tl81KQo+ID4gPiArCWlmIChuZXRfZGV2aWNlLT5udnNwX3ZlcnNpb24gPCBOVlNQX1BST1RPQ09M X1ZFUlNJT05fNSkgewo+ID4gPiArCQluZXRpZl9kZXZpY2VfYXR0YWNoKG5ldCk7Cj4gPiA+IMKg CQlyZXR1cm4gbmV0X2RldmljZTsKPiA+ID4gKwl9ICAKPiA+IAo+ID4gWWVzLCB0aGlzIGxvb2tz IHJpZ2h0LCBidXQgaXQgbWlnaHQgYmUgZWFzaWVyIHRvIHVzZSBnb3RvIGV4aXN0aW5nCj4gPiBl eGl0Cj4gPiBwYXRoLgo+ID4gICAKPiAKPiBJIHdhcyBqdXN0IG5vdCBzdXJlIGlmIHdlIHNob3Vs ZCBzZXQgbWF4X2NobiBhbmQgbnVtX2NobiBoZXJlLiBJIHdpbGwKPiBtb2RpZnkgdGhlIHBhdGNo IGFuZCByZXNlbmQuCgoKT24gb2xkZXIgY29kZSBpdCB3YXMganVzdCBhIGdvdG8uIEF0IHRoYXQg cG9pbnQ6IG51bV9jaG4gPSBtYXhfY2huID0gMQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpkZXZlbCBtYWlsaW5nIGxpc3QKZGV2ZWxAbGludXhkcml2ZXJw cm9qZWN0Lm9yZwpodHRwOi8vZHJpdmVyZGV2LmxpbnV4ZHJpdmVycHJvamVjdC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcml2ZXJkZXYtZGV2ZWwK