Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp488402imm; Fri, 28 Sep 2018 01:45:26 -0700 (PDT) X-Google-Smtp-Source: ACcGV63eiR9QoDyCZ3Hu79zaKO4IaiNl6AZwKvZ4AunkqbPLYZA/6g0K/jZlx47BchelDjpwdfN7 X-Received: by 2002:a17:902:e088:: with SMTP id cb8-v6mr15106779plb.189.1538124326367; Fri, 28 Sep 2018 01:45:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538124326; cv=none; d=google.com; s=arc-20160816; b=fV0m3clMmUP2Q9WP1L3qzUH2d8zX0Urdnjv8uVoFYyErNHP87YHHLYkGBjg94KOoOB kqjMD4FqSqGttf7Oko9B/BSat+68/bboDYybiMbaAWT6kGxaiU7cE2zfnsZ70p3GwW2e PSGM81/11Jxil1N/SIVDCJwwBFSDG2qFAOTxWIO0i9L65S6eBloxpRnH0qGgDAGB9Br3 4evQud1GUUBtQA/dDkx6Ru3KDBLrX92YLRwfByxyOeGSsFXine8VLbchldbVm3nqlqQC s16RopBx2p+4vxtyQKndxQRuwk6Iy0jtQKRwtE0KKTbMEkkzt0wkUwkCK8ao24FNTBJ1 k1rA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:reply-to:references:in-reply-to :message-id:date:subject:cc:to:from; bh=LFg6EEf38hQa04pwWMJLnpEJvq/e95fsLM+0nPOGCBQ=; b=nfoVy0l4eEhNbkF7rJvb85kuDhnS6+dnVl/l0ca9NKTXkFUHIWoW6scwMhEL4ZNaCo UZh+ISgxBeXROzb2EYL3tqeDM38eN/7oM1xmN4el/BXyiGm5H081mIeIRN0DkkmCA2Av KALhTcUkf2odkup62IQR1kc3XocXfgWj+qSfB7S2EI1Lim9n9zDDmgeEhrRbTJbnXMmf GVcKsS+meSdX/VSoAqwAW7MlP9jWGtoBEcTMW2hHu5O8bhIAglsNDN9+l3nZIF/9NbdP 2QVnQax88Hk/+au5DlxcF5yB12Ji51MsYckU+i/z4dO1I3YfweEPjpchEEsK09+NzUMJ qSeg== ARC-Authentication-Results: i=1; mx.google.com; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 1-v6si4411512plj.15.2018.09.28.01.45.10; Fri, 28 Sep 2018 01:45:26 -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; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729291AbeI1PGX (ORCPT + 99 others); Fri, 28 Sep 2018 11:06:23 -0400 Received: from inva021.nxp.com ([92.121.34.21]:50710 "EHLO inva021.nxp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729214AbeI1PGX (ORCPT ); Fri, 28 Sep 2018 11:06:23 -0400 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 7A430200077; Fri, 28 Sep 2018 10:43:40 +0200 (CEST) Received: from inva024.eu-rdc02.nxp.com (inva024.eu-rdc02.nxp.com [134.27.226.22]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 6E3972000BC; Fri, 28 Sep 2018 10:43:40 +0200 (CEST) Received: from fsr-fed2164-101.ea.freescale.net (fsr-fed2164-101.ea.freescale.net [10.171.82.91]) by inva024.eu-rdc02.nxp.com (Postfix) with ESMTP id 0A0092039E; Fri, 28 Sep 2018 10:43:40 +0200 (CEST) From: Madalin Bucur To: leoyang.li@nxp.com Cc: roy.pledge@nxp.com, claudiu.manoil@nxp.com, catalin.marinas@arm.com, oss@buserror.net, linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, Madalin Bucur Subject: [PATCH v2 2/5] soc/fsl/qbman: replace CPU 0 with any online CPU in hotplug handlers Date: Fri, 28 Sep 2018 11:43:21 +0300 Message-Id: <1538124204-31406-3-git-send-email-madalin.bucur@nxp.com> X-Mailer: git-send-email 2.1.0 In-Reply-To: <1538124204-31406-1-git-send-email-madalin.bucur@nxp.com> References: <1538124204-31406-1-git-send-email-madalin.bucur@nxp.com> Reply-to: madalin.bucur@nxp.com X-Virus-Scanned: ClamAV using ClamSMTP Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The existing code sets portal IRQ affinity to CPU 0 in the offline hotplug handler. If CPU 0 is offline this is invalid. Use a different online CPU instead. Signed-off-by: Madalin Bucur --- drivers/soc/fsl/qbman/bman_portal.c | 4 +++- drivers/soc/fsl/qbman/qman_portal.c | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/soc/fsl/qbman/bman_portal.c b/drivers/soc/fsl/qbman/bman_portal.c index 2f71f7df3465..088cdfa7c034 100644 --- a/drivers/soc/fsl/qbman/bman_portal.c +++ b/drivers/soc/fsl/qbman/bman_portal.c @@ -65,7 +65,9 @@ static int bman_offline_cpu(unsigned int cpu) if (!pcfg) return 0; - irq_set_affinity(pcfg->irq, cpumask_of(0)); + /* use any other online CPU */ + cpu = cpumask_any_but(cpu_online_mask, cpu); + irq_set_affinity(pcfg->irq, cpumask_of(cpu)); return 0; } diff --git a/drivers/soc/fsl/qbman/qman_portal.c b/drivers/soc/fsl/qbman/qman_portal.c index a120002b630e..4efd6ea598b1 100644 --- a/drivers/soc/fsl/qbman/qman_portal.c +++ b/drivers/soc/fsl/qbman/qman_portal.c @@ -195,8 +195,10 @@ static int qman_offline_cpu(unsigned int cpu) if (p) { pcfg = qman_get_qm_portal_config(p); if (pcfg) { - irq_set_affinity(pcfg->irq, cpumask_of(0)); - qman_portal_update_sdest(pcfg, 0); + /* select any other online CPU */ + cpu = cpumask_any_but(cpu_online_mask, cpu); + irq_set_affinity(pcfg->irq, cpumask_of(cpu)); + qman_portal_update_sdest(pcfg, cpu); } } return 0; -- 2.1.0