Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp1441711imm; Wed, 17 Oct 2018 21:01:40 -0700 (PDT) X-Google-Smtp-Source: ACcGV63HLPATRP1OX2qFszfOjgmXh+Q+CMoXGemCRXpJXh7lHnayXiN0iuQdyyZ5700eXDSmFSsO X-Received: by 2002:a63:bd41:: with SMTP id d1-v6mr25666949pgp.367.1539835300680; Wed, 17 Oct 2018 21:01:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539835300; cv=none; d=google.com; s=arc-20160816; b=kxEl0dd1K1vTc00D5Xup1PNFwee3nFBAuxaKXHt/DVMc+LHoPJKLr+5X/mLD/iD60T Xy6fby8P6PsDApQaPgfhmYP5Sgk5KUrActorBq61KehROeniVqncMFvDIr4XD2or8N0+ Z6fjdAHf4XzGEmoBm/OKZlHFuQSCoItE0QznHvD97DUlhDd/Uw+Lmt3w78L84TAt02fv Os/gd5U89WB9wG+rTaIAJV3LE7rxOtEanWJ7wH9VTq9VKwMedFwvFaIc7vuJiHYbbSbc R9fXlQ0gBiGZ73WUmzA6b6NLDdTuMmFPWSfvGDXnQ1PgxLA4L/c7ZgHNLxQo5C41mkfP JWwA== 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=Q/u9mkjEty/6SJu1ipwDBRVWcYPnroUpjbfnbMRZK5E=; b=J5Yp0OnHMHkDNJjvVhFMFLVWaKktUn8W3K2yCMdjG+kwIdPjRT+CIkFDsTwr3zQSkR 5sU3bI2aGBLtqHNFfdhR62soiy4n2GZKqOo6dwpRwkuLRRoLCGelMmGII4gE3hAr+/Wy oPsGrL62McrFhsvI9zYU96SFDUeu2Uwwh3YyCsf64DY/g5dr5DHMNeZdmFzFs5YvuL2V nUcTD/b+9JZEtq9R9l9UPXJqWOt1dOw/ewDPMb+rgP6bWV4xD6vEhya7e2NPbtO0XvtR QCVLmgVeiSTjjMBToasP/yBmGkpDK1fYewj93XrYlInrxd1QZkhMmSsXTwvlTCUarnbz Ub/w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mendozajonas.com header.s=fm1 header.b=rp3XtIA5; dkim=pass header.i=@messagingengine.com header.s=fm1 header.b=DRn3Zyia; 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 p10-v6si10452935plk.77.2018.10.17.21.01.25; Wed, 17 Oct 2018 21:01:40 -0700 (PDT) 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=rp3XtIA5; dkim=pass header.i=@messagingengine.com header.s=fm1 header.b=DRn3Zyia; 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 S1727536AbeJRL6z (ORCPT + 99 others); Thu, 18 Oct 2018 07:58:55 -0400 Received: from out3-smtp.messagingengine.com ([66.111.4.27]:47375 "EHLO out3-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727497AbeJRL6y (ORCPT ); Thu, 18 Oct 2018 07:58:54 -0400 Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id BFED722251; Wed, 17 Oct 2018 23:59:58 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Wed, 17 Oct 2018 23:59:58 -0400 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=Q/u9mkjEty/6SJu1ipwDBRVWcYPnroUpjbfnbMRZK5E=; b=rp3Xt IA5NEyFrEChpsPOeg936/euZKIUZHSqgoDhTxy59Z91KVhJ9hVGmFzoX2Xwuu1qB 1y5lF00kS2HK9qeKXpONmz30I7oB1cUoBBMGzGjnbMSIVHnELqDfOkb747yCIXEJ 92X10n18fWN8Vbkc1K3IbNxVuDJOA9foIgE06JvtX6W5KRRQB9VKreI4xxOFHZ3u MckaC7WuxSudSGDsOGfCATVikX8iqRu2u+vhFi1F2oi0tbNFTc5e7lCI7nCHDUZ0 jO7qxlZzbsYR9vb/Dx5Eb8V9J2yBZAn9PrkPhiMXWUeVJBgeDMFsN2vCcnjbR+nG O1Idr8C9CiHUEcsng== 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=Q/u9mkjEty/6SJu1ipwDBRVWcYPnroUpjbfnbMRZK5E=; b=DRn3Zyia tflWiM0BB1+tK3Hy2uYbGf6fkZE107jd1ZL8nphOppfHN4rEalDTFVXqDedvjCPu qzgfBgVBefrY1FuTnvyBAhZykTJINB6KOP5CTe7jGiNQKlqei6TnK2wDYnYIMCCG tS1n5d+gfQUmkaTkzV/znTQuwQaTnX/47tWe30wAy9iH6eCO6KU9ZKZ6wgU5hWI5 OQJ2K086hxKCSrBDXrxGBoa8onDKvEAZh6IIm3j6etblp7TLe26tFSP6XBWFfsyw 19p+4XYutYGp7a1O1iVVJ0Vzwu9sdBoUaJuRnhOwMx1k03fixtd1kAR21V5wWKhL kiKaEr8AqjHpuA== 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 4A578102D7; Wed, 17 Oct 2018 23:59:56 -0400 (EDT) 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 3/6] net/ncsi: Don't deselect package in suspend if active Date: Thu, 18 Oct 2018 14:59:14 +1100 Message-Id: <20181018035917.19413-4-sam@mendozajonas.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181018035917.19413-1-sam@mendozajonas.com> References: <20181018035917.19413-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 fbbfed559f9c..602af74bee81 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