Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp347073imu; Wed, 7 Nov 2018 18:50:28 -0800 (PST) X-Google-Smtp-Source: AJdET5ftO0fitoSZoeO9evUd0jePJrvLcTCuZzzIlVMhS4wAxndLwX+a7mNc+CodBis/b4FjwNty X-Received: by 2002:a63:7d0f:: with SMTP id y15-v6mr2361983pgc.171.1541645427935; Wed, 07 Nov 2018 18:50:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1541645427; cv=none; d=google.com; s=arc-20160816; b=c6cAu/MYFGzwpBoF3QcqoepGfJA22NSnSAZ+IXKJG2auFQUg53qRoH/IanOrJ4gJT3 EZI+Ys7zk7t6aOQzDBkhJBydtD0Tt7UpoR5uw/7hw/dWkclQmV3HTPQkwGFjR2XtYsVC gDvSfEwScKUyFh1IXG/pl5Na5HvoZPhuaAzb1P1246pHdXbyXL39F/VHr7r39RxkBrch EWE8JASqPiVXBMSuwlnhX23QQxs5HyER7QouJ7IEzCKuHN4WYrfwU1Ubiq/8UqGjtxX+ ImOUk1mg90n3fDPa/QreQGm0pyw648o4c/tl93ZDIPWmkERuEL1GAvvltkaqN6HJyl/6 Xplg== 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:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=7zGaLz7HQK8HBIwdkfhpaWhqIglc54Ism5j6RhMgnwA=; b=Fmbj0Osu9n3T6zsqxFRqtS9a4iVKZxs0YBT8WvL9VDwmUhBVQY7zfv5O1FNMJBuVWx Mu1PBpoiA8oI7WPk3D7U/F7TqOzQpYy6L63jAisqmiemjfFClw9LiLf/8tQDpPhlcabL 3FIJFXfGzit3CwW51dHFfYnjiz/3MlBph6AS0XH2DY042HPV1fD3ZXe1z025eOwaGOAP H8EUMVIV+NlBYhImfKUH+MrI5dxpBXMMzfPyGTL/TpMoFvrX6p3H616XtNVI8FGNC1Z1 PfJBlyfgnOiZPDaLcYWYquPvPi+awSJBnG4dx2Hznbtk0ZpcYqY1yskUKinFRqLGXnfq haZQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mendozajonas.com header.s=fm1 header.b="QxQSxx/M"; dkim=pass header.i=@messagingengine.com header.s=fm1 header.b=lakmQwXK; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o16si2504610pgd.117.2018.11.07.18.50.12; Wed, 07 Nov 2018 18:50:27 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@mendozajonas.com header.s=fm1 header.b="QxQSxx/M"; dkim=pass header.i=@messagingengine.com header.s=fm1 header.b=lakmQwXK; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728787AbeKHMW5 (ORCPT + 99 others); Thu, 8 Nov 2018 07:22:57 -0500 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:60813 "EHLO out5-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728741AbeKHMW5 (ORCPT ); Thu, 8 Nov 2018 07:22:57 -0500 Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id 70BFB2202C; Wed, 7 Nov 2018 21:49:41 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Wed, 07 Nov 2018 21:49:41 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= mendozajonas.com; h=from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; s=fm1; bh=7zGaLz7HQK8HBIwdkfhpaWhqIglc54Ism5j6RhMgnwA=; b=QxQSx x/M0F/oGSmglW3guJldinNiS/L6cZd5Ko8UZXQFxH2e4FmHJx0hXHMhizscGp4KA VpgoN1MzrXQIqJyCBN5qIlPNgduU6RnLZvsrImkLY+YvGAEdGzFF7HfORbXi5sVQ iUZcb6vQow+403EoPoTn7deL0pJTqrCQBEJVBEbrA1yeSgm8ui1vB+EY1mbJEj4F 2wsCg+j1Ivi+bJIqpf1CbMI5aLEV5yRnYdE84rAgoDrUODb8KzbI6v0+Bg+S+Qx1 Gti+BNEhCDW93FulX/oCQIRRJaX11YsA7KrnFe92+R8DiX0CeNAHAF95TlxlcJk5 73PHb5wW/tXN+oHfA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; bh=7zGaLz7HQK8HBIwdkfhpaWhqIglc54Ism5j6RhMgnwA=; b=lakmQwXK 1DhoVm2JQ0NKdouf1bwDe1gSg94CMApiFTk/9Ztk1bN3/EIgjvP0g7Le/YgxoGH3 +/XozmBQIWfbzuY3QZs05DDyjV1Y7WfR6AjqCFeXLiOOcEVuSz03rlyNmyDYjCRZ T5+0noNgDowEyP+dLrWszOb6CegYE2i3Wfp7XNiwhzFpJYdGRQDPCvDI4oyEz9zZ aqQvtC/fKpwEigEd20xz8c+0oBMMrvongmEZmLkHViSi1dCYRHmIM76QcrB12Mf2 Jx7KxXtvK3mFdx+OG1tjllr7Wx1eVFGL2be/EbqLZJQCOqH5huuqzq4SFMsVNPl+ clJHqzUts1Q46Q== X-ME-Sender: X-ME-Proxy: Received: from v4.ozlabs.ibm.com (unknown [122.99.82.10]) by mail.messagingengine.com (Postfix) with ESMTPA id 0F007102F2; Wed, 7 Nov 2018 21:49:38 -0500 (EST) From: Samuel Mendoza-Jonas To: netdev@vger.kernel.org Cc: Samuel Mendoza-Jonas , "David S . Miller" , Justin.Lee1@Dell.com, linux-kernel@vger.kernel.org, openbmc@lists.ozlabs.org Subject: [PATCH net-next v3 3/6] net/ncsi: Don't deselect package in suspend if active Date: Thu, 8 Nov 2018 13:49:06 +1100 Message-Id: <20181108024909.9897-4-sam@mendozajonas.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181108024909.9897-1-sam@mendozajonas.com> References: <20181108024909.9897-1-sam@mendozajonas.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When a package is deselected all channels of that package cease communication. If there are other channels active on the package of the suspended channel this will disable them as well, so only send a deselect-package command if no other channels are active. Signed-off-by: Samuel Mendoza-Jonas --- net/ncsi/ncsi-manage.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/net/ncsi/ncsi-manage.c b/net/ncsi/ncsi-manage.c index 02421d1a22c9..b8b4e765a04c 100644 --- a/net/ncsi/ncsi-manage.c +++ b/net/ncsi/ncsi-manage.c @@ -440,12 +440,14 @@ static void ncsi_request_timeout(struct timer_list *t) static void ncsi_suspend_channel(struct ncsi_dev_priv *ndp) { struct ncsi_dev *nd = &ndp->ndev; - struct ncsi_package *np = ndp->active_package; - struct ncsi_channel *nc = ndp->active_channel; + struct ncsi_package *np; + struct ncsi_channel *nc, *tmp; struct ncsi_cmd_arg nca; unsigned long flags; int ret; + np = ndp->active_package; + nc = ndp->active_channel; nca.ndp = ndp; nca.req_flags = NCSI_REQ_FLAG_EVENT_DRIVEN; switch (nd->state) { @@ -521,6 +523,15 @@ static void ncsi_suspend_channel(struct ncsi_dev_priv *ndp) if (ret) goto error; + NCSI_FOR_EACH_CHANNEL(np, tmp) { + /* If there is another channel active on this package + * do not deselect the package. + */ + if (tmp != nc && tmp->state == NCSI_CHANNEL_ACTIVE) { + nd->state = ncsi_dev_state_suspend_done; + break; + } + } break; case ncsi_dev_state_suspend_deselect: ndp->pending_req_num = 1; -- 2.19.1