Received: by 2002:ac0:aa62:0:0:0:0:0 with SMTP id w31-v6csp3987776ima; Tue, 23 Oct 2018 14:54:50 -0700 (PDT) X-Google-Smtp-Source: AJdET5do2bACONlOkBhLwNsmXZoGUcWFmY9F+m584bL2m7+0WNsAXGIro9psxbcPWpEip0KrEy+v X-Received: by 2002:a17:902:507:: with SMTP id 7-v6mr27861plf.272.1540331690553; Tue, 23 Oct 2018 14:54:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1540331690; cv=none; d=google.com; s=arc-20160816; b=QjqBp8Bz7S4U2hsaK35cjIXNIQb91nK1sOZFpcTe+h+BjICEjk8UpBYMwVf+lKpu3z z0giiA7LnxeWSXln0GqW4IlJSOXG5gwYlQJ95U7srT9WxH7sNl+eZ9NSUiSpINK9e9sU Y43ViRsBzPSCW9AdqNCZOete00Qw78Y6lbDLXzUIW8/pW1JhKVlze+R+iwZGOleH7OxY Kp1nataqyIYXpn16UzKf9ug/A5eAjCzQXO6MCRJb9jnn8z3HS4bLikCXjZ8OtU2w80JR ogLXasOY8esnmkvABF/PNkt0OAbI7qzsodnmAng/UhUcZ6qoPQldFL4SmUr3LUAN3jmG jbEA== 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=0I1QQ8+X1Fm1viHEvfd4Oq27EfJa+jf4/LNmrlSqiEw=; b=XDSXZp/4sZ5UKXNvtF/M7lFSJnONl1nUzDwM4tzqSxWHmxpgZcZuNW8MT1xFybaNek pOJgKtBoNFv+SE5orxFGCsX/t+mDqU1pbSgdJDya+gw4XK49LA9lRp1GD6T+X1CKyYmt xelpngej6MD3nUXDI20TSNNGSc7BKkB9bvSBXPM9quIgMnGgr+zdqKlItD0ANyUI28mY 4IaTYU4F2ajiP31AaXKNHLreN71D6z2uJVMoYP5RPU+B8KMhab1F/Z/1eTQ6ARqnpoRf OMSnq77va8cGSFgNJDYFqRigcuUQ4POt/jdubBsGKvQt7WGmjI2x3WfdyfcMyI0snpZO dXUg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mendozajonas.com header.s=fm1 header.b=lr5yqzuv; dkim=pass header.i=@messagingengine.com header.s=fm1 header.b=GU5qw3iP; 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 n5-v6si2490029pgg.186.2018.10.23.14.54.35; Tue, 23 Oct 2018 14:54:50 -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=lr5yqzuv; dkim=pass header.i=@messagingengine.com header.s=fm1 header.b=GU5qw3iP; 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 S1729121AbeJXGRt (ORCPT + 99 others); Wed, 24 Oct 2018 02:17:49 -0400 Received: from out3-smtp.messagingengine.com ([66.111.4.27]:45327 "EHLO out3-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725985AbeJXGRs (ORCPT ); Wed, 24 Oct 2018 02:17:48 -0400 Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id 023E921C7A; Tue, 23 Oct 2018 17:52:33 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Tue, 23 Oct 2018 17:52:33 -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=0I1QQ8+X1Fm1viHEvfd4Oq27EfJa+jf4/LNmrlSqiEw=; b=lr5yq zuvOVbeUA+od8Qc8Rg3kqM1l+G1RLW0pz9xiN5Gb1aLXoQX8IAaAVQnZkD/kMHkC nV7Lj7q7i+lRGz/rRnhTnk4WxrxemDIcVAolRicCikrreFbNq4fzM5cj/3IuDtZX xZw2goS5heaUPWvN28fgUmyRcasjbBmMfqlROA0JIpCd0zPbJP1+TMCWnv9lmpgd 8lsIR5+XmfQVmsZic+DiZa+AMDxu2zHKefiVtcIFUKl1xRmnNN6pSQ+iBJ5h7FaA 8hL3e8Xx9bSFrCdctWwpYnSSoEbkgdiKt/Mded0YtQiPnJShpscK8W93XpT4tC1o UXB5cevrR85R+NCgg== 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=0I1QQ8+X1Fm1viHEvfd4Oq27EfJa+jf4/LNmrlSqiEw=; b=GU5qw3iP 4eRjf8fL3N0E/2zco5OawTqIEEIOUePHqN+H3IeZWRG3JAKN/1px3hfodDd/GuQ9 P55WGa40mCQ4Ggw5HFCscJsvA/CjqWXoVBGdKuHFRGmTsENs//uLqg1O/pN6utQ4 2UhSY5Xk3SuhUVP4GQkOXC38lWP4WA3MYt4jjuguuxUTHyTbJUtHXBALncHm09HI GIJOL3i+jQ4XRY6Nhuk9lfxg6QBfciJImjxjF80vsbFcOthsBPTEZY7MQioiM+fs KvYHxR8CDY2KhfnwKct78RhzSqidKsXJS1reHmf+/UCh/CaKaVRfvyr7nfIXYyTR QCmjsOVRAjj+sw== X-ME-Sender: X-ME-Proxy: Received: from v4.ibm.com (unknown [158.140.225.28]) by mail.messagingengine.com (Postfix) with ESMTPA id 30C3B102E4; Tue, 23 Oct 2018 17:52:29 -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 v2 3/6] net/ncsi: Don't deselect package in suspend if active Date: Wed, 24 Oct 2018 10:51:58 +1300 Message-Id: <20181023215201.27315-4-sam@mendozajonas.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181023215201.27315-1-sam@mendozajonas.com> References: <20181023215201.27315-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 6c62aae10205..013437b42e94 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