kernel_optimize_test/arch/arm
Magnus Damm 1cf215a5b4 ARM: mach-shmobile: INTC interrupt priority level demux fix
Fix interrupt priority level handling on SH-Mobile ARM.

SH-Mobile ARM platforms using multiple interrupt priority
levels need this patch to fix a potential dead lock that
may occur if multiple interrupts with different levels
are pending simultaneously.

The default INTC configuration is to use the same priority
level for all interrupts, so this issue does not trigger by
default. It is however common for board code to override the
interrupt priority for certain interrupt sources depending
on the application. Without this fix such boards may lock up.

In detail, this patch updates the INTC code in entry-macro.S
to make sure that the INTLVLA register gets set as expected.

To trigger this bug modify the board specific code to adjust
the interrupt priority level for the ethernet chip. After
changing the priority level simply use flood ping to drown
the board with interrupts.

This patch applies to INTCA-based processors such as sh7372,
sh7377 and sh7372. GIC-based processors are not affected.

Suitable for v2.6.37-rc and stable from v2.6.34 to v2.6.36.

Cc: stable@kernel.org
Signed-off-by: Magnus Damm <damm@opensource.se>
Tested-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-12-17 19:42:47 +09:00
..
boot ARM: 6503/1: Thumb-2: Restore sensible zImage header layout for CONFIG_THUMB2_KERNEL 2010-11-30 13:44:26 +00:00
common ARM: 6524/1: GIC irq desciptor bug fix 2010-12-06 11:03:31 +00:00
configs at91: merge all at91rm9200 defconfig in one single file 2010-11-30 10:59:15 +01:00
include/asm ARM: 6490/1: MM: bugfix: initialize spinlock for init_mm.context 2010-11-23 22:46:12 +00:00
kernel ARM: 6519/1: kuser: Fix incorrect cmpxchg syscall in kuser helpers 2010-12-04 11:01:12 +00:00
lib ARM: 6482/2: Fix find_next_zero_bit and related assembly 2010-11-24 20:17:46 +00:00
mach-aaec2000 ARM: 6484/1: fix compile warning in mm/init.c 2010-11-21 22:05:56 +00:00
mach-at91 at91/board-yl-9200: fix typo in video support 2010-11-30 17:23:41 +01:00
mach-bcmring ARM: 6484/1: fix compile warning in mm/init.c 2010-11-21 22:05:56 +00:00
mach-clps711x ARM: 6484/1: fix compile warning in mm/init.c 2010-11-21 22:05:56 +00:00
mach-cns3xxx ARM: cns3xxx: Fix build with CONFIG_PCI=y 2010-11-29 19:19:15 +03:00
mach-davinci ASoC: davinci: fixes for multi-component 2010-11-17 18:36:40 +00:00
mach-dove arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
mach-ebsa110 ARM: 6484/1: fix compile warning in mm/init.c 2010-11-21 22:05:56 +00:00
mach-ep93xx ARM: 6462/1: EP93xx: Document DMA M2P API 2010-11-07 16:13:30 +00:00
mach-footbridge ARM: 6484/1: fix compile warning in mm/init.c 2010-11-21 22:05:56 +00:00
mach-gemini arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
mach-h720x ARM: 6484/1: fix compile warning in mm/init.c 2010-11-21 22:05:56 +00:00
mach-imx ARM i.MX27 eukrea: Fix compilation 2010-11-15 09:25:05 +01:00
mach-integrator ARM: 6484/1: fix compile warning in mm/init.c 2010-11-21 22:05:56 +00:00
mach-iop13xx Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-10-21 16:42:32 -07:00
mach-iop32x arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
mach-iop33x arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
mach-ixp4xx arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
mach-ixp23xx arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
mach-ixp2000 ARM: 6460/1: ixp2000: fix type of ixp2000_timer_interrupt 2010-10-27 21:40:28 +01:00
mach-kirkwood Merge git://git.kernel.org/pub/scm/linux/kernel/git/nico/orion 2010-11-07 16:10:56 +00:00
mach-ks8695 arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
mach-l7200/include/mach arm: return both physical and virtual addresses from addruart 2010-10-20 00:27:33 -04:00
mach-lh7a40x arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
mach-loki arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
mach-lpc32xx Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-10-21 16:42:32 -07:00
mach-mmp ARM: mmp2: remove not used clk_rtc 2010-11-30 20:14:03 +08:00
mach-msm ARM: 6484/1: fix compile warning in mm/init.c 2010-11-21 22:05:56 +00:00
mach-mv78xx0 Merge git://git.kernel.org/pub/scm/linux/kernel/git/nico/orion 2010-11-07 16:10:56 +00:00
mach-mx3 ARM i.MX pcm037 eet: compile fixes 2010-11-15 09:25:03 +01:00
mach-mx5 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable 2010-10-28 11:13:00 +01:00
mach-mx25 mx25: fix spi device registration typo 2010-11-15 09:25:06 +01:00
mach-mxc91231 arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
mach-netx ARM: 6484/1: fix compile warning in mm/init.c 2010-11-21 22:05:56 +00:00
mach-nomadik arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
mach-ns9xxx arm: return both physical and virtual addresses from addruart 2010-10-20 00:27:33 -04:00
mach-nuc93x arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
mach-omap1 ARM: 6484/1: fix compile warning in mm/init.c 2010-11-21 22:05:56 +00:00
mach-omap2 OMAP2: PRCM: fix some SHIFT macros that were actually bitmasks 2010-12-10 18:04:43 -08:00
mach-orion5x Merge git://git.kernel.org/pub/scm/linux/kernel/git/nico/orion 2010-11-07 16:10:56 +00:00
mach-pnx4008 ARM: 6484/1: fix compile warning in mm/init.c 2010-11-21 22:05:56 +00:00
mach-pxa ARM: pxa/palm: fix ifdef around gen_nand driver registration 2010-11-30 20:14:05 +08:00
mach-realview ARM: 6507/1: RealView: Correct data alignment in headsmp.S for CONFIG_THUMB2_KERNEL 2010-11-30 13:44:27 +00:00
mach-rpc ARM: 6484/1: fix compile warning in mm/init.c 2010-11-21 22:05:56 +00:00
mach-s3c24a0/include/mach Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into devel-stable 2010-10-28 12:27:34 +01:00
mach-s3c64xx ARM: S3C64XX: fix uart clock setup for mini6410/real6410 2010-11-25 10:58:11 +09:00
mach-s3c2400
mach-s3c2410 ARM: S3C2410: Adapt h1940-bluetooth to gpiolib changes 2010-11-25 10:58:10 +09:00
mach-s3c2412 ARM: S3C2412: Fix typo in CONFIG_CPU_S3C2412_ONLY definition 2010-11-30 08:49:11 +00:00
mach-s3c2416 ARM: SMDK2416: Select MACH_SMDK, S3C_DEV_NAND, S3C_DEV_USB_HOST 2010-11-30 08:34:02 +00:00
mach-s3c2440 ARM: S3C24XX: Fix mess with gpio {set,get}_pull callbacks 2010-12-08 01:04:56 +00:00
mach-s3c2443 ARM: S3C2443: Select properly ARM core type 2010-11-30 08:44:09 +00:00
mach-s5p64x0 Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into devel-stable 2010-10-28 12:27:34 +01:00
mach-s5p6442 Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into devel-stable 2010-10-28 12:27:34 +01:00
mach-s5pc100 Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into devel-stable 2010-10-28 12:27:34 +01:00
mach-s5pv210 ARM: S5PV210: Fix sysdev related warning messages 2010-11-25 10:58:11 +09:00
mach-s5pv310 Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into devel-stable 2010-10-28 12:27:34 +01:00
mach-sa1100 ARM: 6449/1: Fix for compiler warning of uninitialized variable. 2010-10-27 21:40:28 +01:00
mach-shark ARM: 6484/1: fix compile warning in mm/init.c 2010-11-21 22:05:56 +00:00
mach-shmobile ARM: mach-shmobile: INTC interrupt priority level demux fix 2010-12-17 19:42:47 +09:00
mach-spear3xx
mach-spear6xx
mach-stmp37xx arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
mach-stmp378x arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
mach-tcc8k arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
mach-tegra ARM: tegra: fix regression from addruart rewrite 2010-12-06 20:07:57 -08:00
mach-u300 Merge branch 'next-spi' of git://git.secretlab.ca/git/linux-2.6 2010-11-01 07:50:43 -04:00
mach-ux500 ARM: 6473/1: Small update to ux500 specific L2 cache code 2010-11-21 22:05:56 +00:00
mach-versatile ARM: 6484/1: fix compile warning in mm/init.c 2010-11-21 22:05:56 +00:00
mach-vexpress ARM: 6508/1: vexpress: Correct data alignment in headsmp.S for CONFIG_THUMB2_KERNEL 2010-11-30 13:44:27 +00:00
mach-w90x900 arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
mm ARM: 6535/1: V6 MPCore v6_dma_inv_range and v6_dma_flush_range RWFO fix 2010-12-14 22:23:34 +00:00
nwfpe Update broken web addresses in arch directory. 2010-10-18 11:03:21 +02:00
oprofile oprofile: Abstract the perf-events backend 2010-10-11 17:46:16 +02:00
plat-iop ARM: 6523/1: iop: ensure sched_clock() is notrace 2010-12-04 13:36:29 +00:00
plat-mxc ARM i.MX spi: fix compilation for i.MX21 2010-11-15 09:25:04 +01:00
plat-nomadik ARM: 6488/1: nomadik: prevent sched_clock() wraparound 2010-11-21 22:05:57 +00:00
plat-omap OMAP1: SRAM: fix size for OMAP1611 SoCs 2010-12-09 16:29:21 -08:00
plat-orion [ARM] Kirkwood: restrict the scope of the PCIe reset workaround 2010-10-21 15:52:03 -04:00
plat-pxa mmc: sdhci: 8-bit bus width changes 2010-11-22 15:12:04 -05:00
plat-s3c24xx ARM: S3C24XX: Fix mess with gpio {set,get}_pull callbacks 2010-12-08 01:04:56 +00:00
plat-s5p ARM: S5P: Add initial map for GPIO2 and GPIO3 2010-10-25 16:06:22 +09:00
plat-samsung ARM: S3C24XX: Fix mess with gpio {set,get}_pull callbacks 2010-12-08 01:04:56 +00:00
plat-spear arm: return both physical and virtual addresses from addruart 2010-10-20 00:27:33 -04:00
plat-stmp3xxx arm: return both physical and virtual addresses from addruart 2010-10-20 00:27:33 -04:00
plat-tcc arm: return both physical and virtual addresses from addruart 2010-10-20 00:27:33 -04:00
plat-versatile
tools ARM: Update mach-types 2010-12-12 23:31:02 +00:00
vfp ARM: 6498/1: vfp: Correct data alignment for CONFIG_THUMB2_KERNEL 2010-11-30 13:44:23 +00:00
Kconfig ARM: 6534/1: Make CONFIG_FPE_NWFPE depend on !CONFIG_THUMB2_KERNEL 2010-12-14 22:23:34 +00:00
Kconfig-nommu
Kconfig.debug Merge branch 'devel-stable' into devel 2010-10-19 22:06:36 +01:00
Makefile Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into devel-stable 2010-10-19 20:12:24 +01:00