linux/kernel
Sebastian Frias f2c4508a35 genirq/generic_chip: Add irq_unmap callback
commit ee26c013cd upstream.

Without this patch irq_domain_disassociate() cannot properly release the
interrupt. In fact, irq_map_generic_chip() checks a bit on 'gc->installed'
but said bit is never cleared, only set.

Commit 088f40b7b0 ("genirq: Generic chip: Add linear irq domain support")
added irq_map_generic_chip() function and also stated "This lacks a removal
function for now".

This commit provides an implementation of an unmap function that can be
called by irq_domain_disassociate().

[ tglx: Made the function static and removed the export as we have neither
  	a prototype nor a modular user. ]

Fixes: 088f40b7b0 ("genirq: Generic chip: Add linear irq domain support")
Signed-off-by: Sebastian Frias <sf84@laposte.net>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Mason <slash.tmp@free.fr>
Cc: Jason Cooper <jason@lakedaemon.net>
Link: http://lkml.kernel.org/r/579F5C5A.2070507@laposte.net
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-10-31 04:13:59 -06:00
..
bpf bpf, inode: disallow userns mounts 2016-06-24 10:18:17 -07:00
configs kconfig: tinyconfig: provide whole choice blocks to avoid warnings 2016-09-24 10:07:42 +02:00
debug
events perf/core: Fix pmu::filter_match for SW-led groups 2016-10-07 15:23:41 +02:00
gcov
irq genirq/generic_chip: Add irq_unmap callback 2016-10-31 04:13:59 -06:00
livepatch
locking locking/qspinlock: Fix spin_unlock_wait() some more 2016-07-27 09:47:29 -07:00
power PM / hibernate: Fix rtree_next_node() to avoid walking off list ends 2016-09-30 10:18:39 +02:00
printk printk: fix parsing of "brl=" option 2016-10-07 15:23:43 +02:00
rcu
sched sched/core: Fix a race between try_to_wake_up() and a woken up task 2016-09-24 10:07:42 +02:00
time timekeeping: Fix __ktime_get_fast_ns() regression 2016-10-16 17:36:14 +02:00
trace tracing: Move mutex to protect against resetting of seq data 2016-09-30 10:18:38 +02:00
.gitignore
acct.c
async.c
audit_fsnotify.c
audit_tree.c
audit_watch.c audit: fix exe_file access in audit_exe_compare 2016-09-24 10:07:36 +02:00
audit.c
audit.h
auditfilter.c
auditsc.c audit: fix a double fetch in audit_log_single_execve_arg() 2016-08-20 18:09:22 +02:00
backtracetest.c
bounds.c
capability.c kernel: Add noaudit variant of ns_capable() 2016-09-15 08:27:50 +02:00
cgroup_freezer.c
cgroup_pids.c
cgroup.c cgroup: set css->id to -1 during init 2016-08-10 11:49:27 +02:00
compat.c
configs.c
context_tracking.c
cpu_pm.c
cpu.c
cpuset.c cpuset: handle race between CPU hotplug and cpuset_hotplug_work 2016-10-07 15:23:40 +02:00
crash_dump.c
cred.c cred: Reject inodes with invalid ids in set_create_file_as() 2016-09-15 08:27:49 +02:00
delayacct.c
dma.c
elfcore.c
exec_domain.c
exit.c wait/ptrace: assume __WALL if the child is traced 2016-06-07 18:14:35 -07:00
extable.c
fork.c kernel/fork: fix CLONE_CHILD_CLEARTID regression in nscd 2016-10-07 15:23:46 +02:00
freezer.c
futex_compat.c
futex.c futex: Acknowledge a new waiter in counter before plist 2016-05-04 14:48:43 -07:00
groups.c
hung_task.c
irq_work.c
jump_label.c locking/static_key: Fix concurrent static_key_slow_inc() 2016-07-27 09:47:29 -07:00
kallsyms.c
kcmp.c
Kconfig.freezer
Kconfig.hz
Kconfig.locks
Kconfig.preempt
kexec_core.c
kexec_file.c kexec: fix double-free when failing to relocate the purgatory 2016-09-24 10:07:36 +02:00
kexec_internal.h
kexec.c
kmod.c
kprobes.c
ksysfs.c
kthread.c
latencytop.c
Makefile
membarrier.c
memremap.c
module_signing.c
module-internal.h
module.c module: Invalidate signatures on force-loaded modules 2016-08-20 18:09:27 +02:00
notifier.c
nsproxy.c
padata.c
panic.c
params.c
pid_namespace.c
pid.c
profile.c
ptrace.c
range.c
reboot.c
relay.c
resource.c
seccomp.c
signal.c
smp.c
smpboot.c
smpboot.h
softirq.c
stacktrace.c
stop_machine.c
sys_ni.c
sys.c
sysctl_binary.c fs/coredump: prevent fsuid=0 dumps into user-controlled directories 2016-04-12 09:08:58 -07:00
sysctl.c sysctl: handle error writing UINT_MAX to u32 fields 2016-10-07 15:23:46 +02:00
task_work.c
taskstats.c
test_kprobes.c
torture.c
tracepoint.c
tsacct.c
uid16.c
up.c
user_namespace.c
user-return-notifier.c
user.c
utsname_sysctl.c
utsname.c
watchdog.c
workqueue_internal.h
workqueue.c workqueue: fix rebind bound workers warning 2016-05-18 17:06:50 -07:00