linux-uconsole/arch/arm/kernel
黄涛 408e101444 rk: disable preempt_disable when power off
On power off, pmic driver use mutex, so can not disable preemption.
Else will see this bug:
  rk30_pm_power_off start...
  act8846_device_shutdown
  BUG: scheduling while atomic: Thread-102/1505/0x00000002
  [<c043e390>] (unwind_backtrace+0x0/0xf8) from [<c09019f0>] (__schedule+0x7ec/0x8a8)
  [<c09019f0>] (__schedule+0x7ec/0x8a8) from [<c0902ca8>] (__mutex_lock_slowpath+0x128/0x1bc)
  [<c0902ca8>] (__mutex_lock_slowpath+0x128/0x1bc) from [<c0902da8>] (mutex_lock+0x6c/0x70)
  [<c0902da8>] (mutex_lock+0x6c/0x70) from [<c06213d8>] (act8846_reg_read+0x28/0x4c)
  [<c06213d8>] (act8846_reg_read+0x28/0x4c) from [<c062159c>] (act8846_device_shutdown+0x24/0x80)
  [<c062159c>] (act8846_device_shutdown+0x24/0x80) from [<c044f060>] (rk30_pm_power_off+0x4c/0x78)
  [<c044f060>] (rk30_pm_power_off+0x4c/0x78) from [<c0439dbc>] (machine_power_off+0x1c/0x24)
  [<c0439dbc>] (machine_power_off+0x1c/0x24) from [<c0481488>] (sys_reboot+0x154/0x214)
  [<c0481488>] (sys_reboot+0x154/0x214) from [<c0438f80>] (ret_fast_syscall+0x0/0x30)

And smp_send_stop is doing nothing on rk platform when power off, so it is no need to disable preemption.
2013-02-28 13:57:13 +08:00
..
.gitignore
armksyms.c Merge branch 'p2v' into devel 2011-03-16 23:35:27 +00:00
arthur.c
asm-offsets.c Revert "ARM: vfp: fix a hole in VFP thread migration" 2011-09-16 18:50:07 -07:00
atags.c
atags.h
bios32.c arm: bios32: Remove non exisiting machine code 2011-03-29 14:47:50 +02:00
calls.S Revert "Merge commit 'v2.6.32.9' into android-2.6.32" 2011-07-30 22:24:29 +08:00
compat.c ARM: deprecate support for old way to pass kernel parameters 2010-07-07 16:38:36 +02:00
compat.h ARM: deprecate support for old way to pass kernel parameters 2010-07-07 16:38:36 +02:00
crash_dump.c crash_dump: export is_kdump_kernel to modules, consolidate elfcorehdr_addr, setup_elfcorehdr and saved_max_pfn 2011-03-23 19:47:19 -07:00
crunch-bits.S
crunch.c
debug.S revert android-tegra-2.6.36-honeycomb-mr1-9001adc to v2.6.36 2011-10-28 16:02:47 +08:00
devtree.c ARM: 6953/1: DT: don't try to access physical address zero 2011-06-09 10:15:06 +01:00
dma-isa.c
dma.c rm rk2818 dma change 2011-11-07 19:06:20 +08:00
early_printk.c
ecard.c arm: Fold irq_set_chip/irq_set_handler 2011-03-29 14:47:58 +02:00
ecard.h
elf.c ARM: 6878/1: fix personality flag propagation across an exec 2011-04-14 09:15:24 +01:00
entry-armv.S revert android-tegra-2.6.36-honeycomb-mr1-9001adc to v2.6.36 2011-10-28 16:02:47 +08:00
entry-common.S Merge remote-tracking branch 'remotes/aosp/android-3.0' into develop-3.0 2011-10-28 16:07:07 +08:00
entry-header.S ARM: v6k: select clear exclusive code seqences according to V6 variants 2011-02-02 21:23:28 +00:00
etm.c ARM: etm: Power down etm(s) when tracing is not enabled 2011-06-14 09:10:00 -07:00
fiq.c ARM: 6938/1: fiq: Refactor {get,set}_fiq_regs() for Thumb-2 2011-05-26 10:31:06 +01:00
fiqasm.S ARM: 6938/1: fiq: Refactor {get,set}_fiq_regs() for Thumb-2 2011-05-26 10:31:06 +01:00
ftrace.c ARM: ftrace: graph tracer + dynamic ftrace 2010-11-19 21:43:27 +05:30
head-common.S arm/dt: Make __vet_atags also accept a dtb image 2011-05-11 15:12:32 +02:00
head-nommu.S ARM: Defer lookup of machine_type to setup.c 2011-02-15 16:36:44 +00:00
head.S ARM: 7150/1: Allow kernel unaligned accesses on ARMv6+ processors 2012-05-29 10:06:02 +08:00
hw_breakpoint.c ARM: 6864/1: hw_breakpoint: clear DBGVCR out of reset 2011-04-10 21:13:35 +01:00
init_task.c
io.c
irq.c arm: Use generic show_interrupts() 2011-03-29 14:47:57 +02:00
isa.c
iwmmxt.S ARM: pxa: add iwmmx support for PJ4 2010-12-20 23:07:36 +08:00
kgdb.c revert android-tegra-2.6.36-honeycomb-mr1-9001adc to v2.6.36 2011-10-28 16:02:47 +08:00
kprobes-decode.c Revert "Merge remote branch 'linux-2.6.32.y/master' into develop" 2011-07-30 16:24:52 +08:00
kprobes.c ARM: kprobes: Fix probing of conditionally executed instructions 2011-04-28 23:40:54 -04:00
leds.c ARM: Move leds idle start/stop calls to idle notifiers 2011-07-15 15:26:45 -07:00
machine_kexec.c [ARM] add machine-specific hook to machine_kexec 2011-03-03 16:26:55 -05:00
Makefile rm rk2818 dma change 2011-11-07 19:06:20 +08:00
module.c ARM: 6963/1: Thumb-2: Relax relocation requirements for non-function symbols 2011-06-17 11:25:04 +01:00
perf_event.c ARM: 6989/1: perf: do not start the PMU when no events are present 2011-07-05 12:37:23 +01:00
perf_event_v6.c ARM: 6835/1: perf: ensure overflows aren't missed due to IRQ latency 2011-03-26 10:06:09 +00:00
perf_event_v7.c ARM: 7117/1: perf: fix HW_CACHE_* events on Cortex-A9 2011-10-25 07:10:13 +02:00
perf_event_xscale.c ARM: 6835/1: perf: ensure overflows aren't missed due to IRQ latency 2011-03-26 10:06:09 +00:00
pj4-cp0.c ARM: pxa: add iwmmx support for PJ4 2010-12-20 23:07:36 +08:00
pmu.c ARM: 6742/1: pmu: avoid setting IRQ affinity on UP systems 2011-02-19 11:24:05 +00:00
process.c rk: disable preempt_disable when power off 2013-02-28 13:57:13 +08:00
ptrace.c ARM: 7308/1: vfp: flush thread hwstate before copying ptrace registers 2012-05-29 10:09:09 +08:00
relocate_kernel.S ARM: 6497/1: kexec: Correct data alignment for CONFIG_THUMB2_KERNEL 2010-11-30 13:44:23 +00:00
return_address.c ARM: fix some sparse errors in generic ARM code 2011-02-23 17:24:12 +00:00
sched_clock.c ARM: sched_clock: make minsec argument to clocks_calc_mult_shift() zero 2011-03-11 11:37:02 +08:00
setup.c ARM: move memory layout sanity checking before meminfo initialization 2011-07-05 20:27:16 +01:00
signal.c ARM: 7306/1: vfp: flush thread hwstate before restoring context from sigframe 2012-05-29 10:08:02 +08:00
signal.h
sleep.S ARM: 6825/1: kernel/sleep.S: fix Thumb2 compilation issues 2011-03-26 10:06:08 +00:00
smp.c Merge remote-tracking branch 'stable/linux-3.0.y' into develop-3.0 2012-11-01 17:13:08 +08:00
smp_scu.c ARM: 7091/1: errata: D-cache line maintenance operation by MVA may not succeed 2011-10-03 11:41:06 -07:00
smp_tlb.c ARM: SMP: split out software TLB maintainence broadcasting 2010-12-20 15:09:17 +00:00
smp_twd.c ARM: 7359/2: smp_twd: Only wait for reprogramming on active cpus 2012-04-20 19:33:01 +08:00
stacktrace.c ARM: fix /proc/$PID/stack on SMP 2011-01-15 09:27:04 +00:00
swp_emulate.c ARM: missing ->mmap_sem around find_vma() in swp_emulate.c 2013-01-11 09:03:48 -08:00
sys_arm.c ARM: 7410/1: Add extra clobber registers for assembly in kernel_execve 2012-05-29 10:14:57 +08:00
sys_oabi-compat.c Revert "Merge remote-tracking branch 'linux-2.6.32.y/master' into develop" 2011-07-30 16:09:59 +08:00
tcm.c ARM: P2V: separate PHYS_OFFSET from platform definitions 2011-02-17 23:26:55 +00:00
tcm.h
thumbee.c
time.c Merge remote-tracking branch 'remotes/tegra/android-tegra-2.6.36-honeycomb-mr1' into develop-2.6.36 2011-08-01 00:04:45 +08:00
traps.c ARM: 7409/1: Do not call flush_cache_user_range with mmap_sem held 2012-06-01 15:13:01 +08:00
unwind.c ARM: 6468/1: backtrace: fix calculation of thread stack base 2010-11-07 16:12:37 +00:00
vmlinux.lds.S rk: sram: remove gap between code and data 2012-08-08 19:58:09 +08:00
xscale-cp0.c