Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp2683218pxk; Sun, 6 Sep 2020 09:27:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwnek0u/sEyPTKTxHXt3YTHgon/cOv1cV0iuhF39shGVciO/+KR35gmmBAaGaB9Gf0tBBRB X-Received: by 2002:a17:906:6a52:: with SMTP id n18mr16972445ejs.58.1599409661919; Sun, 06 Sep 2020 09:27:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1599409661; cv=none; d=google.com; s=arc-20160816; b=AaOGr65sJdNnk47Vaw3UOJS52UOviqQo7pCaXcBuAlztUuXV3dciFJ7uC7XvThbjwC uyffstAxk29AoXi98T8/SXQmcVygGd+X1iVAD1KQann2Bo+mBaRLEd08YaSf2iQ28SNx sW6TgwzG7bMvyaAQleJEhWqmDD3zlJMLzvSFwtgQctoP+TdanlYg/8/AsFcTCu3Q4dof H00Ps3cum6FTB1Z/WQMAhTkX24jcfP8sPpcNoe4/oVbBIOCf6eBgD4maA0vN8T/mNZv9 fFNt9BJpdEIlZ+RvI+BGkNn0H0tGr5uBymfh3GLsDeI+ZxoTINpQ/UA2tEqfugQzjGXi ahVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=UtbNOYRVw+lYv9v9PnK4a5iwJ9Y7JKJHQMBtPT64yQ0=; b=kwJy578vzVj40FqQZYBuotdLTsldfw1YQ4FAGMS3RA4LtwUfEz7udXdBXBwPO3vII4 osLXuP7FIPHOO1x11WPgs9Gpmg+JWtgXOxzenrWZal4mmMKQMm4gZBzTuArBSs+nscpW CryyWWPuCJpPfemTYmZd4+Wj/WKXL7dP/7po1KPUoHq57xH3peTC1X17y4ap6VKBUBny +DI7pun0/Fkl9iT759r7XgmYFVoULLmHA6yiz6zBVfQGiZg+X1iZripXjRkJtFQYhEDW qTo+/LsttkCIe5TYNBg2z8ts1itma8MAHZwRaj6BS3JA8YPLG/S0lPbqEVQPLCP3S0BP 7HWQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ZGYWf5Gv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q26si8793380eji.610.2020.09.06.09.27.19; Sun, 06 Sep 2020 09:27:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ZGYWf5Gv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728662AbgIFQ01 (ORCPT + 99 others); Sun, 6 Sep 2020 12:26:27 -0400 Received: from mail.kernel.org ([198.145.29.99]:60658 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725816AbgIFQ0Y (ORCPT ); Sun, 6 Sep 2020 12:26:24 -0400 Received: from kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com (unknown [163.114.132.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 7C0B820709; Sun, 6 Sep 2020 16:26:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1599409583; bh=hJp+qATOFylIa3y0vlxW2BD+WH7p8cy8K26upvnrakI=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=ZGYWf5GvVkRR144ONX9qVMifl9mCy4NpoNHh9qJHRJnvQ0+OdTn2omykDa9IXuQq2 9lC43miWxqIbIqOWwhtjLqLOUQuC1Qp5ZgrnZQdTqYjPdfwHhMeunSHUOMKUEHtpxm 3c42pKtZ9tOEvusFFR+kGv8Eb2CCOaUkvhjFnqDg= Date: Sun, 6 Sep 2020 09:26:21 -0700 From: Jakub Kicinski To: Dexuan Cui Cc: "wei.liu@kernel.org" , KY Srinivasan , Haiyang Zhang , Stephen Hemminger , "davem@davemloft.net" , "linux-hyperv@vger.kernel.org" , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Michael Kelley Subject: Re: [PATCH net] hv_netvsc: Fix hibernation for mlx5 VF driver Message-ID: <20200906092621.72005293@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> In-Reply-To: References: <20200905025218.45268-1-decui@microsoft.com> <20200905162712.65b886a4@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, 6 Sep 2020 03:05:48 +0000 Dexuan Cui wrote: > > > @@ -2635,6 +2632,10 @@ static int netvsc_resume(struct hv_device *dev) > > > netvsc_devinfo_put(device_info); > > > net_device_ctx->saved_netvsc_dev_info = NULL; > > > > > > + vf_netdev = rtnl_dereference(net_device_ctx->vf_netdev); > > > + if (vf_netdev && netvsc_vf_changed(vf_netdev) != NOTIFY_OK) > > > + ret = -EINVAL; > > > > Should you perhaps remove the VF in case of the failure? > IMO this failure actually should not happen since we're resuming the netvsc > NIC, so we're sure we have a valid pointer to the netvsc net device, and > netvsc_vf_changed() should be able to find the netvsc pointer and return > NOTIFY_OK. In case of a failure, something really bad must be happening, > and I'm not sure if it's safe to simply remove the VF, so I just return > -EINVAL for simplicity, since I believe the failure should not happen in practice. Okay, I see that the errors propagated by netvsc_vf_changed() aren't actually coming from netvsc_switch_datapath(), so you're right. The failures here won't be meaningful. > I would rather keep the code as-is, but I'm OK to add a WARN_ON(1) if you > think that's necessary. No need, I think core will complain when resume callback fails. That should be sufficient.