soc: ti: QMSS: Fix usage of irq_set_affinity_hint
authorMarc Zyngier <marc.zyngier@arm.com>
Wed, 31 Oct 2018 08:41:34 +0000 (08:41 +0000)
committerOlof Johansson <olof@lixom.net>
Fri, 2 Nov 2018 18:22:09 +0000 (11:22 -0700)
commit832ad0e3da4510fd17f98804abe512ea9a747035
tree8e97645f71329fbcff5612148028583ba247d366
parent4b42745211af552f170f38a1b97f4a112b5da6b2
soc: ti: QMSS: Fix usage of irq_set_affinity_hint

The Keystone QMSS driver is pretty damaged, in the sense that it
does things like this:

irq_set_affinity_hint(irq, to_cpumask(&cpu_map));

where cpu_map is a local variable. As we leave the function, this
will point to nowhere-land, and things will end-up badly.

Instead, let's use a proper cpumask that gets allocated, giving
the driver a chance to actually work with things like irqbalance
as well as have a hypothetical 64bit future.

Cc: stable@vger.kernel.org
Acked-by: Santosh Shilimkar <ssantosh@kernel.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
drivers/soc/ti/knav_qmss.h
drivers/soc/ti/knav_qmss_acc.c
drivers/soc/ti/knav_qmss_queue.c