Commit bb58c1ba authored by Jinjie Ruan's avatar Jinjie Ruan Committed by Thomas Gleixner
Browse files

genirq: Simplify the checks for irq_set_percpu_devid_partition()



Since whether desc is NULL or desc->percpu_enabled is true, it returns
-EINVAL, check them together, and assign desc->percpu_affinity using a
ternary to simplify the code.

Signed-off-by: default avatarJinjie Ruan <ruanjinjie@huawei.com>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240417085356.3785381-1-ruanjinjie@huawei.com
parent 35d77eb7
Loading
Loading
Loading
Loading
+2 −8
Original line number Diff line number Diff line
@@ -911,10 +911,7 @@ int irq_set_percpu_devid_partition(unsigned int irq,
{
	struct irq_desc *desc = irq_to_desc(irq);

	if (!desc)
		return -EINVAL;

	if (desc->percpu_enabled)
	if (!desc || desc->percpu_enabled)
		return -EINVAL;

	desc->percpu_enabled = kzalloc(sizeof(*desc->percpu_enabled), GFP_KERNEL);
@@ -922,10 +919,7 @@ int irq_set_percpu_devid_partition(unsigned int irq,
	if (!desc->percpu_enabled)
		return -ENOMEM;

	if (affinity)
		desc->percpu_affinity = affinity;
	else
		desc->percpu_affinity = cpu_possible_mask;
	desc->percpu_affinity = affinity ? : cpu_possible_mask;

	irq_set_percpu_devid_flags(irq);
	return 0;