Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp6879imu; Thu, 15 Nov 2018 20:53:54 -0800 (PST) X-Google-Smtp-Source: AJdET5exStnLip2Vc9tbbCfiXvq5iRoJkKIoWgKClsXsO5w2i+MSg8WYwWPWthGOygWaYa7SHmvq X-Received: by 2002:a17:902:33c1:: with SMTP id b59-v6mr9077247plc.71.1542344034401; Thu, 15 Nov 2018 20:53:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542344034; cv=none; d=google.com; s=arc-20160816; b=MWxfZQggpjPeitqkl7kzstio/4FPEUobAaBgXxefxymtinV4nk/805/oVGPQZxAkvg 3+mJQWgPLtOQ0YKkE2y6RbSb5pDa3EDEgI1bc6jI67FMPgt+gn3Z+hCdJhsKssoYU4j3 S8nztISchNl7ygPqUhx85sO6wv+eGDLpoE8l49job/TSqFiVMKGvWxNRFjWzNu2G48Zo lq4xxydgiRGhM7twbI/qofZKBO9XOPX6LSOL/sKNTm60dxC6AYTKF8TTxPydejTfhWer M+SYE1/lDNI/02/MluotcHqkv+MDt9AYzWdc866YMsSFcM82bRwJ04fXU4AYH6RaBWNE Gk6w== 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=sgrAGLdI+37jnM1an0iahdw6HlWQ/+pkRh8tKT5YSmNL6p5wgoH/SpvGOck6M/5NxO gCSDaywozWWrRGfBUcvWBzCEg4m2WS7h//qUo/LbEeC9iZVzJ81aV7OvZ2Urwk+bTJGp fAjsdZKstMyh8AXJRT7xtMb1VlSv53dVHcjds2FQrDnE1mCK/M2z4ma00s2aLtLLvGO2 oRsSf3fv33dvOZkQHXVhEDbC/XzwV2+jOG4xbBfeAca408L8LGSTp+uHqS9L+1WodhaO 6mF721TP8eeMMvmSynFXs08A60Zzh/yqIXIMYb1QTi6Ijz7KFHvqu6QJe0ex1jDv2PQi AzFA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mendozajonas.com header.s=fm1 header.b=OF44VP7E; dkim=pass header.i=@messagingengine.com header.s=fm1 header.b=iK4omNfn; 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 p3-v6si30342743pld.119.2018.11.15.20.53.40; Thu, 15 Nov 2018 20:53:54 -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=OF44VP7E; dkim=pass header.i=@messagingengine.com header.s=fm1 header.b=iK4omNfn; 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 S2389305AbeKPPDk (ORCPT + 99 others); Fri, 16 Nov 2018 10:03:40 -0500 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:46151 "EHLO out4-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727124AbeKPPDj (ORCPT ); Fri, 16 Nov 2018 10:03:39 -0500 Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id 66D4D21F37; Thu, 15 Nov 2018 23:52:49 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Thu, 15 Nov 2018 23:52:49 -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=OF44V P7EQ9w/GP+TWN+ITypX13MdJs7V6HJFcjZgyoBpW6fr0RF4Z/+J0b2c1OSL2QA0P GH1K+4in+A5YY93biwKNDXpoH6KcKJ0ac0fa+Q/iJcOpxTNTWePIBAqW7TlhVopq FnzhkgUxTnlbO2B8n23umZJc96nlowm9ksl2p7/25cUrjfS/EALEXgdoYrm/OG50 DVPYpeombD5Y/aIdU1Ee2pecAuARKLwKzoJiwxQ8BKA1e47azuH287cswxIAa5in UP82HTkfKqLdkj1G32HJipQQDOmNV7oSdPap3prxFHQb1limb2wYY83eCKz0ULvV h0CWf561Z7X6nbLbw== 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=iK4omNfn Dfch/s04meLyzUFkXhfzgQN24GcJyxBDj7a4iQu2hYapPHew8SBOFme6hU8Km0gB brUmm/HSn8oHfqErJ5CG7N3WZX4sE2Ghx9dhhKW/IFoUWJrAYquhHXfoLhBf7X7O DnXPt8v5nYNAC2qa/gX9zjrZ9zhAtvENiNEnQgJmkX2SQy4O27983+XAfbc8wq1k +6jP8W6DVuTNAnJg9hJ+CB8Kh+NJhyfv7lL2M89bhmGZyP6253rh/DrOGwMB+SB0 TlmZNDVUxtBrvb/PDnGnYGsuGvMNtxSVsIBT1sEtjaijns0v7KN4PpzHmDO+uN8d 1rSzfuzKapr5Pg== X-ME-Sender: X-ME-Proxy: Received: from v4.ibm.com (unknown [1.144.189.168]) by mail.messagingengine.com (Postfix) with ESMTPA id BA76EE46B7; Thu, 15 Nov 2018 23:52:45 -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 v4 3/6] net/ncsi: Don't deselect package in suspend if active Date: Fri, 16 Nov 2018 15:51:56 +1100 Message-Id: <20181116045159.4980-4-sam@mendozajonas.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181116045159.4980-1-sam@mendozajonas.com> References: <20181116045159.4980-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