From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Cyrus-Session-Id: sloti22d1t05-1962875-1517439709-2-12538466257760296131 X-Sieve: CMU Sieve 3.0 X-Spam-known-sender: no X-Spam-score: 0.0 X-Spam-hits: BAYES_00 -1.9, HEADER_FROM_DIFFERENT_DOMAINS 0.001, RCVD_IN_DNSWL_MED -2.3, SPF_PASS -0.001, LANGUAGES en, BAYES_USED global, SA_VERSION 3.4.0 X-Spam-source: IP='140.211.166.136', Host='smtp3.osuosl.org', Country='US', FromHeader='org', MailFrom='org' X-Spam-charsets: plain='us-ascii' X-Resolved-to: greg@kroah.com X-Delivered-to: greg@kroah.com X-Mail-from: driverdev-devel-bounces@linuxdriverproject.org ARC-Seal: i=1; a=rsa-sha256; cv=none; d=messagingengine.com; s=arctest; t=1517439708; b=mfbDU2kBPqVFn+IiQnk7EFIuyBMdwe+CKdeKNGPioCroQle EOAPeao7qdr0YgTWfeU7R9j0EIWZU0xzHuoeqYgDvczY3wmJXCGaWwzDexK64JtW FTiU2DIg9Ys9TChjPY6Nsii7Qf8G7VIvWGlQBNGC+eLEMw1KMF9G7B0ZK2eq1zN5 kKv1rI0G9aWDvjjTOuME3Cw8PzJmB1dPHcygLvTONRb8PLwKRfgQd0Kg2PBe1onG 0Xc9hrBtWTPbnxrNQFqmd/Cc06yT1GeG0zqA9Q1CjhMQJPgG6ovkWSkocu2SXNJT lCdbJmpFsm5MsuX4bWKgHv2f55X3rtgjeHxhVJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=date:from:to:subject:message-id :in-reply-to:references:mime-version:list-id:list-unsubscribe :list-archive:list-post:list-help:list-subscribe:cc:content-type :content-transfer-encoding:sender; s=arctest; t=1517439708; bh=T ALeOoVZtGectgJJU4NNb5WJ8sl3CJxY8xCWT3rJtpk=; b=QW9ypW31bJDGDoowi GCd4wPr9nwzL5OeCqykCGet45IUgX7OqLsBw9e4Qay9x59Q+krJgWsD6DLON8Vdp Rs5qobQV0c15Kkqwx2qp3B8UgUhz6er2zboRepcGg9VMDvdVdFxOKeYgHG/9ccio 3VQGhAs4/09ePy64bJPyeWP9v1MCEVETZ3M9Ef1R8rlvd6ksF/Z5i54/1bEAjvAL Bz5p1GozGpYFLvwlRSdoeiQyAv4a5+kp208g9U10rf8G8VQhqGR+r9Sw/dnFPbT7 VZufa1p3iDZ/qNTvd3zly7XFgQ8QR/UFQDGSbzVJTe+Ssd+4mmVXuyJ8JPTK8pkP kcECQ== ARC-Authentication-Results: i=1; mx1.messagingengine.com; arc=none (no signatures found); dkim=fail (message has been altered; 2048-bit rsa key sha256) header.d=networkplumber-org.20150623.gappssmtp.com header.i=@networkplumber-org.20150623.gappssmtp.com header.b=1hJGM7i3 x-bits=2048 x-keytype=rsa x-algorithm=sha256 x-selector=20150623; dmarc=none (p=none,has-list-id=yes,d=none) header.from=networkplumber.org; iprev=pass policy.iprev=140.211.166.136 (smtp3.osuosl.org); spf=pass smtp.mailfrom=driverdev-devel-bounces@linuxdriverproject.org smtp.helo=silver.osuosl.org; x-aligned-from=fail; x-google-dkim=fail (message has been altered; 2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=mhe1JUzH; x-ptr=fail x-ptr-helo=silver.osuosl.org x-ptr-lookup=smtp3.osuosl.org; x-return-mx=pass smtp.domain=linuxdriverproject.org smtp.result=pass smtp_is_org_domain=yes header.domain=networkplumber.org header.result=pass header_is_org_domain=yes; x-tls=pass version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128 Authentication-Results: mx1.messagingengine.com; arc=none (no signatures found); dkim=fail (message has been altered; 2048-bit rsa key sha256) header.d=networkplumber-org.20150623.gappssmtp.com header.i=@networkplumber-org.20150623.gappssmtp.com header.b=1hJGM7i3 x-bits=2048 x-keytype=rsa x-algorithm=sha256 x-selector=20150623; dmarc=none (p=none,has-list-id=yes,d=none) header.from=networkplumber.org; iprev=pass policy.iprev=140.211.166.136 (smtp3.osuosl.org); spf=pass smtp.mailfrom=driverdev-devel-bounces@linuxdriverproject.org smtp.helo=silver.osuosl.org; x-aligned-from=fail; x-google-dkim=fail (message has been altered; 2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=mhe1JUzH; x-ptr=fail x-ptr-helo=silver.osuosl.org x-ptr-lookup=smtp3.osuosl.org; x-return-mx=pass smtp.domain=linuxdriverproject.org smtp.result=pass smtp_is_org_domain=yes header.domain=networkplumber.org header.result=pass header_is_org_domain=yes; x-tls=pass version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128 X-Remote-Delivered-To: driverdev-devel@osuosl.org X-Google-Smtp-Source: AH8x2272PdWHGMW1HC6Up91XWKDByFKWLc2pBqN9P9jMmPQmdNK2YK9XL5GGJllA7HAIlAZAe99o/Q== Date: Wed, 31 Jan 2018 15:01:37 -0800 From: Stephen Hemminger To: Mohammed Gamal Subject: Re: [RFC PATCH 1/2] hv_netvsc: Split netvsc_revoke_buf() and netvsc_teardown_gpadl() Message-ID: <20180131150137.58abee5b@xeon-e3> In-Reply-To: <1517397409.3452.7.camel@redhat.com> References: <1516700045-32142-1-git-send-email-mgamal@redhat.com> <1516700045-32142-2-git-send-email-mgamal@redhat.com> <20180130112926.53f3c166@xeon-e3> <1517397409.3452.7.camel@redhat.com> MIME-Version: 1.0 X-BeenThere: driverdev-devel@linuxdriverproject.org X-Mailman-Version: 2.1.24 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: otubo@redhat.com, sthemmin@microsoft.com, netdev@vger.kernel.org, haiyangz@microsoft.com, linux-kernel@vger.kernel.org, devel@linuxdriverproject.org, vkuznets@redhat.com Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" X-getmail-retrieved-from-mailbox: INBOX X-Mailing-List: linux-kernel@vger.kernel.org List-ID: On Wed, 31 Jan 2018 12:16:49 +0100 Mohammed Gamal wrote: > On Tue, 2018-01-30 at 11:29 -0800, Stephen Hemminger wrote: > > On Tue, 23 Jan 2018 10:34:04 +0100 > > Mohammed Gamal wrote: > > > > > Split each of the functions into two for each of send/recv buffers > > > > > > Signed-off-by: Mohammed Gamal > > > > Splitting these functions is not necessary > > How so? We need to send each message independently, and hence the split > (see cover letter). Is there another way? This is all that is needed. Subject: [PATCH] hv_netvsc: work around for gpadl teardown on older windows server On WS2012 the host ignores messages after vmbus channel is closed. Workaround this by doing what Windows does and send the teardown before close on older versions of NVSP protocol. Reported-by: Mohammed Gamal Fixes: 0cf737808ae7 ("hv_netvsc: netvsc_teardown_gpadl() split") Signed-off-by: Stephen Hemminger --- drivers/net/hyperv/netvsc.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c index 17e529af79dc..1a3df0eff42f 100644 --- a/drivers/net/hyperv/netvsc.c +++ b/drivers/net/hyperv/netvsc.c @@ -574,10 +574,17 @@ void netvsc_device_remove(struct hv_device *device) */ netdev_dbg(ndev, "net device safe to remove\n"); + /* Workaround for older versions of Windows require that + * buffer be revoked before channel is disabled + */ + if (net_device->nvsp_version < NVSP_PROTOCOL_VERSION_4) + netvsc_teardown_gpadl(device, net_device); + /* Now, we can close the channel safely */ vmbus_close(device->channel); - netvsc_teardown_gpadl(device, net_device); + if (net_device->nvsp_version >= NVSP_PROTOCOL_VERSION_4) + netvsc_teardown_gpadl(device, net_device); /* And dissassociate NAPI context from device */ for (i = 0; i < net_device->num_chn; i++) -- 2.15.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel