kernel-fxtec-pro1x/arch
Mark Rutland ae0c3751ab ARM: 6975/1: pmu: reject duplicate PMU registrations
Currently, the PMU reservation framework allows for multiple PMUs of
the same type to register themselves. This can lead to a bug with the
sequence:

register_pmu(pmu1);
reserve_pmu(pmu_type);
register_pmu(pmu2);
release_pmu(pmu1);

Here, pmu1 cannot be released, and pmu2 cannot be reserved.

This patch modifies register_pmu to reject registrations where a PMU is
already present, preventing this problem. PMUs which can have multiple
instances should not use the PMU reservation framework.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Jamie Iles <jamie@jamieiles.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-06-29 10:27:08 +01:00
..
alpha Merge branch 'setns' 2011-05-28 10:51:01 -07:00
arm ARM: 6975/1: pmu: reject duplicate PMU registrations 2011-06-29 10:27:08 +01:00
avr32 Merge branch 'setns' 2011-05-28 10:51:01 -07:00
blackfin Blackfin: debug-mmrs: include RSI_PID[4567] MMRs 2011-05-28 17:02:56 -04:00
cris Merge branch 'setns' 2011-05-28 10:51:01 -07:00
frv Merge branch 'setns' 2011-05-28 10:51:01 -07:00
h8300 Merge branch 'setns' 2011-05-28 10:51:01 -07:00
ia64 [IA64] wire up sendmmsg() syscall for Itanium 2011-05-31 10:09:24 -07:00
m32r Merge branch 'setns' 2011-05-28 10:51:01 -07:00
m68k Merge branch 'setns' 2011-05-28 10:51:01 -07:00
microblaze Merge branch 'setns' 2011-05-28 10:51:01 -07:00
mips Merge branch 'setns' 2011-05-28 10:51:01 -07:00
mn10300 Merge branch 'setns' 2011-05-28 10:51:01 -07:00
parisc Merge branch 'setns' 2011-05-28 10:51:01 -07:00
powerpc powerpc/pmac: Don't register pmac PIC syscore ops when HW not present 2011-05-31 20:30:20 +09:00
s390 [S390] mm: fix mmu_gather rework 2011-05-29 12:40:51 +02:00
score arch: remove CONFIG_GENERIC_FIND_{NEXT_BIT,BIT_LE,LAST_BIT} 2011-05-26 17:12:38 -07:00
sh Merge branch 'setns' 2011-05-28 10:51:01 -07:00
sparc Merge branch 'setns' 2011-05-28 10:51:01 -07:00
tile Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile 2011-05-29 11:29:28 -07:00
um arch: remove CONFIG_GENERIC_FIND_{NEXT_BIT,BIT_LE,LAST_BIT} 2011-05-26 17:12:38 -07:00
unicore32 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 2011-05-27 14:27:34 -07:00
x86 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2011-06-01 06:45:08 +09:00
xtensa Merge branch 'setns' 2011-05-28 10:51:01 -07:00
.gitignore
Kconfig mm, powerpc: move the RCU page-table freeing into generic code 2011-05-25 08:39:16 -07:00