From: "irqchip-bot for Florian Fainelli" <tip-bot2@linutronix.de>
To: linux-kernel@vger.kernel.org
Cc: Florian Fainelli <f.fainelli@gmail.com>,
Marc Zyngier <maz@kernel.org>,
tglx@linutronix.de
Subject: [irqchip: irq/irqchip-next] irqchip/irq-bcm7038-l1: Restrict affinity setting to MIPS
Date: Wed, 20 Oct 2021 21:12:14 -0000 [thread overview]
Message-ID: <163476433456.25758.298027771225902304.tip-bot2@tip-bot2> (raw)
In-Reply-To: <20211020184859.2705451-6-f.fainelli@gmail.com>
The following commit has been merged into the irq/irqchip-next branch of irqchip:
Commit-ID: 3578fd47137c405b6fb9f90e2e6d1654c71f5e1e
Gitweb: https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms/3578fd47137c405b6fb9f90e2e6d1654c71f5e1e
Author: Florian Fainelli <f.fainelli@gmail.com>
AuthorDate: Wed, 20 Oct 2021 11:48:51 -07:00
Committer: Marc Zyngier <maz@kernel.org>
CommitterDate: Wed, 20 Oct 2021 20:06:33 +01:00
irqchip/irq-bcm7038-l1: Restrict affinity setting to MIPS
Only MIPS based platforms using this interrupt controller as first level
interrupt controller can actually change the affinity of interrupts by
re-programming the affinity mask of the interrupt controller and use
another word group to have another CPU process the interrupt.
When this interrupt is used as a second level interrupt controller on
ARM/ARM64 there is no way to change the interrupt affinity. This fixes a
NULL pointer de-reference while trying to change the affinity since
there is only a single word group in that case, and we would have been
overruning the intc->cpus[] array.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20211020184859.2705451-6-f.fainelli@gmail.com
---
drivers/irqchip/irq-bcm7038-l1.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/irqchip/irq-bcm7038-l1.c b/drivers/irqchip/irq-bcm7038-l1.c
index 3c4e348..357570d 100644
--- a/drivers/irqchip/irq-bcm7038-l1.c
+++ b/drivers/irqchip/irq-bcm7038-l1.c
@@ -191,6 +191,7 @@ static void bcm7038_l1_mask(struct irq_data *d)
raw_spin_unlock_irqrestore(&intc->lock, flags);
}
+#if defined(CONFIG_MIPS) && defined(CONFIG_SMP)
static int bcm7038_l1_set_affinity(struct irq_data *d,
const struct cpumask *dest,
bool force)
@@ -217,6 +218,7 @@ static int bcm7038_l1_set_affinity(struct irq_data *d,
return 0;
}
+#endif
static int __init bcm7038_l1_init_one(struct device_node *dn,
unsigned int idx,
@@ -365,7 +367,9 @@ static struct irq_chip bcm7038_l1_irq_chip = {
.name = "bcm7038-l1",
.irq_mask = bcm7038_l1_mask,
.irq_unmask = bcm7038_l1_unmask,
+#if defined(CONFIG_SMP) && defined(CONFIG_MIPS)
.irq_set_affinity = bcm7038_l1_set_affinity,
+#endif
#ifdef CONFIG_PM_SLEEP
.irq_set_wake = bcm7038_l1_set_wake,
#endif
next prev parent reply other threads:[~2021-10-20 21:12 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-20 18:48 [PATCH v6 00/13] Modular Broadcom irqchip drivers Florian Fainelli
2021-10-20 18:48 ` [PATCH v6 01/13] MIPS: BMIPS: Remove use of irq_cpu_offline Florian Fainelli
2021-10-20 21:12 ` [irqchip: irq/irqchip-next] " irqchip-bot for Florian Fainelli
2021-10-20 18:48 ` [PATCH v6 02/13] irqchip/irq-bcm7038-l1: Remove .irq_cpu_offline() Florian Fainelli
2021-10-20 21:12 ` [irqchip: irq/irqchip-next] " irqchip-bot for Florian Fainelli
2021-10-20 18:48 ` [PATCH v6 03/13] irqchip/irq-bcm7038-l1: Use irq_get_irq_data() Florian Fainelli
2021-10-20 21:12 ` [irqchip: irq/irqchip-next] " irqchip-bot for Florian Fainelli
2021-10-20 18:48 ` [PATCH v6 04/13] irqchip/irq-bcm7038-l1: Gate use of CPU logical map to MIPS Florian Fainelli
2021-10-20 21:12 ` [irqchip: irq/irqchip-next] " irqchip-bot for Florian Fainelli
2021-10-20 18:48 ` [PATCH v6 05/13] irqchip/irq-bcm7038-l1: Restrict affinity setting " Florian Fainelli
2021-10-20 21:12 ` irqchip-bot for Florian Fainelli [this message]
2021-10-20 18:48 ` [PATCH v6 06/13] irqchip/irq-bcm7038-l1: Switch to IRQCHIP_PLATFORM_DRIVER Florian Fainelli
2021-10-20 21:12 ` [irqchip: irq/irqchip-next] " irqchip-bot for Florian Fainelli
2021-10-20 18:48 ` [PATCH v6 07/13] genirq: Export irq_gc_{unmask_enable,mask_disable}_reg Florian Fainelli
2021-10-20 21:12 ` [irqchip: irq/irqchip-next] " irqchip-bot for Florian Fainelli
2021-10-20 18:48 ` [PATCH v6 08/13] irqchip/irq-brcmstb-l2: Switch to IRQCHIP_PLATFORM_DRIVER Florian Fainelli
2021-10-20 21:12 ` [irqchip: irq/irqchip-next] " irqchip-bot for Florian Fainelli
2021-10-20 18:48 ` [PATCH v6 09/13] genirq: Export irq_gc_noop() Florian Fainelli
2021-10-20 21:12 ` [irqchip: irq/irqchip-next] " irqchip-bot for Florian Fainelli
2021-10-20 18:48 ` [PATCH v6 10/13] irqchip/irq-bcm7120-l2: Switch to IRQCHIP_PLATFORM_DRIVER Florian Fainelli
2021-10-20 21:12 ` [irqchip: irq/irqchip-next] " irqchip-bot for Florian Fainelli
2021-10-20 18:48 ` [PATCH v6 11/13] arm64: broadcom: Removed forced select of interrupt controllers Florian Fainelli
2021-10-20 21:12 ` [irqchip: irq/irqchip-next] " irqchip-bot for Florian Fainelli
2021-10-20 18:48 ` [PATCH v6 12/13] ARM: bcm: " Florian Fainelli
2021-10-20 21:12 ` [irqchip: irq/irqchip-next] " irqchip-bot for Florian Fainelli
2021-10-20 18:48 ` [PATCH v6 13/13] irqchip: Fix kernel-doc parameter typo for IRQCHIP_DECLARE Florian Fainelli
2021-10-20 21:12 ` [irqchip: irq/irqchip-next] " irqchip-bot for Florian Fainelli
2021-10-20 21:13 ` [PATCH v6 00/13] Modular Broadcom irqchip drivers Marc Zyngier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=163476433456.25758.298027771225902304.tip-bot2@tip-bot2 \
--to=tip-bot2@linutronix.de \
--cc=f.fainelli@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maz@kernel.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®