linux/arch/arm/mach-shmobile
Arnd Bergmann 264e22afa3 Third Round of Renesas ARM Based SoC Fixes for v4.13
Fix deadlock in regulator quirk for R-Car Gen 2 SoCs
 
 The da9063/da9210 regulator quirk for R-Car Gen2 boards uses a bus
 notifier, and unregisters the notifier when it is no longer needed.
 However, a notifier must not be unregistered from within the call chain.
 
 This bug went unnoticed, as blocking_notifier_chain_unregister() didn't
 take the semaphore during early boot. This is no longer the case as of
 upstream commit 1c3c5eab17 ("sched/core: Enable might_sleep() and
 smp_processor_id() checks early") and a deadlock occurs.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJZfw75AAoJENfPZGlqN0++i24P/j38Z5LKt529CBT2uPgdiIr7
 lWEzU3Dgij/vPBUevz1s+hPa2i4jH1sfeKjSd2Ild3Ac+qAy6AwnzWlVYBCaBhlJ
 qFAsr3nZ6ybftdA4rIJb1pWF+ugG7uNcQ3S0J5vLeiRU5HC/ZR+Ar+hjeuDwwIGa
 889tI5UpKDFxYzkLIDVyiW0gX7WFhmxML0jptuV6c7bSl4Td/RxaP25Hcq8MsApv
 oVre7mWPBKrIrjH26lPIUmdN4SGIHgUS3k2j9fFoWit9p2gYX6WDVbHjgALzPL1r
 2Su8mSuP6ijutrrOuoB3OaNRlTaSr1Jpzfb6m6xRY+y1Anks0FxRVd712HrxinZK
 4xW0ebUpfxpFsg8lJGoe1d1FGOSuj6A3/5GCrA+fQS0LSKthft+ovHmKBAogbSm3
 7uCCU/h05LIkW0kDZYNjUqPWi+FwHZ4nEZEJiXMBt5DOyWpF5oIjCFeHmyp8VruI
 xHZnq0pcck0Y+OSln2tiV43kw4QzK3BjTZZRc/IkVf19m24y+WJu9KfXTQhCDeLt
 g4/zjAZrZddVQPtUz0f1YC07gPTmxLQpQJqLZBNeaed2W8p+tmUWUuoILpjPjEqR
 Uu0EQE+t205YaxEz/ctYATdrpNOM5TWRhD+U25VTfhgxar3p9aC4GNVskL/fMGUy
 /wTWYp1KVlxYjaxi3aOP
 =N5ig
 -----END PGP SIGNATURE-----

Merge tag 'renesas-fixes3-for-v4.13' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into fixes

Pull "Third Round of Renesas ARM Based SoC Fixes for v4.13" from Simon Horman:

Fix deadlock in regulator quirk for R-Car Gen 2 SoCs

The da9063/da9210 regulator quirk for R-Car Gen2 boards uses a bus
notifier, and unregisters the notifier when it is no longer needed.
However, a notifier must not be unregistered from within the call chain.

This bug went unnoticed, as blocking_notifier_chain_unregister() didn't
take the semaphore during early boot. This is no longer the case as of
upstream commit 1c3c5eab17 ("sched/core: Enable might_sleep() and
smp_processor_id() checks early") and a deadlock occurs.

* tag 'renesas-fixes3-for-v4.13' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: rcar-gen2: Fix deadlock in regulator quirk
2017-08-04 12:54:41 +02:00
..
common.h ARM: shmobile: smp: Add function to prioritize DT SMP 2016-06-29 14:43:11 +02:00
emev2.h ARM: shmobile: emev2: Move declaration of emev2_smp_ops to emev2.h 2016-02-19 14:45:31 +09:00
headsmp-scu.S Second Round of Renesas ARM Based SoC Cleanup for v4.6 2016-02-26 22:37:32 +01:00
headsmp.S ARM: shmobile: Remove shmobile_boot_arg 2016-02-17 18:27:21 +09:00
Kconfig clocksource/drivers/ostm: Add renesas-ostm timer driver 2017-02-07 20:58:30 +01:00
Makefile ARM: shmobile: Consolidate R8A7743 and R8A779[234] machine definitions 2016-11-02 10:15:33 +01:00
platsmp-apmu.c Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2017-02-28 11:50:53 -08:00
platsmp-apmu.h ARM: shmobile: Separate APMU resource data into CPU dependant part 2014-11-04 09:31:23 +09:00
platsmp-scu.c ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
platsmp.c ARM: shmobile: don't call platform_can_secondary_boot on UP 2016-08-02 12:34:49 -07:00
pm-r8a7779.c soc: renesas: rcar-sysc: Move SYSC interrupt config to rcar-sysc driver 2016-06-29 14:37:08 +02:00
pm-rcar-gen2.c ARM: shmobile: rcar-gen2: Add more register documentation 2017-01-25 11:28:28 +01:00
pm-rmobile.c ARM: shmobile: pm-rmobile: Use GENPD_FLAG_ALWAYS_ON 2017-06-14 10:58:48 +02:00
pm-rmobile.h ARM: shmobile: Remove obsolete legacy PM Domain leftovers 2015-09-14 09:58:08 +09:00
r8a7779.h ARM: use const and __initconst for smp_operations 2015-12-01 22:17:45 +01:00
r8a7790.h ARM: use const and __initconst for smp_operations 2015-12-01 22:17:45 +01:00
r8a7791.h ARM: use const and __initconst for smp_operations 2015-12-01 22:17:45 +01:00
rcar-gen2.h ARM: shmobile: rcar-gen2: Remove unused rcar_gen2_read_mode_pins() 2017-01-03 10:50:45 +01:00
regulator-quirk-rcar-gen2.c ARM: shmobile: rcar-gen2: Fix deadlock in regulator quirk 2017-07-29 10:32:52 +02:00
setup-emev2.c ARM: shmobile: emev2: Move declaration of emev2_smp_ops to emev2.h 2016-02-19 14:45:31 +09:00
setup-r7s72100.c ARM: 8660/1: shmobile: r7s72100: Enable L2 cache 2017-03-17 10:01:27 +00:00
setup-r8a73a4.c ARM: appropriate __init annotation for const data 2015-07-28 13:55:27 +02:00
setup-r8a7740.c arm: Remove unnecessary of_platform_populate with default match table 2016-06-23 14:58:37 -05:00
setup-r8a7778.c ARM: shmobile: r8a7778: Stop passing mode pins state to clock driver 2016-11-02 20:44:02 +01:00
setup-r8a7779.c ARM: shmobile: r8a7779: Stop passing mode pins state to clock driver 2016-11-02 20:44:04 +01:00
setup-r8a7790.c ARM: shmobile: r8a7790: only use smp_init when SMP is selected 2016-08-24 09:08:45 +02:00
setup-r8a7791.c ARM: shmobile: r8a7791: only use smp_init when SMP is selected 2016-08-24 09:08:57 +02:00
setup-rcar-gen2.c clocksource/drivers: Rename clocksource_probe to timer_probe 2017-06-14 11:59:16 +02:00
setup-sh73a0.c arm: Remove unnecessary of_platform_populate with default match table 2016-06-23 14:58:37 -05:00
sh73a0.h ARM: use const and __initconst for smp_operations 2015-12-01 22:17:45 +01:00
smp-emev2.c ARM: SoC platform updates for v4.6 2016-03-20 14:57:08 -07:00
smp-r8a7779.c soc: renesas: Move pm-rcar to drivers/soc/renesas/rcar-sysc 2016-04-22 17:23:13 +10:00
smp-r8a7790.c soc: renesas: Move pm-rcar to drivers/soc/renesas/rcar-sysc 2016-04-22 17:23:13 +10:00
smp-r8a7791.c ARM: shmobile: r8a7791: Allow booting secondary CPU cores in debug mode 2017-01-03 10:50:43 +01:00
smp-sh73a0.c ARM: shmobile: Consolidate SCU mapping code 2016-02-17 21:24:29 +09:00
suspend.c ARM: shmobile: Add includes providing forward declarations 2016-02-04 15:09:29 +01:00
timer.c ARM: shmobile: timer: Drop support for Cortex A8 2016-04-20 08:55:09 +10:00