[PATCH 0/2] ARM: OMAP: dmtimer: scheduling while atomic fixes

Omar Ramirez Luna omar.ramirez at ti.com
Thu Nov 24 23:12:48 EST 2011


Changes in dmtimer framework have introduced scheduling-while-atomic
and other lock state BUGs, these are related to the usage of clk_get
(internal path holds a mutex_lock) while holding a spin_lock_irqsave.

The other inconsistent lock state BUGs are caused when calling
omap_dm_timer_request* on softirq or hardirq, because code handling source
parent clocks is still using clk_get, since there is only one user of those
APIs that acquires a lock in a softirq context (tidspbridge) for now it
can be changed.

Omar Ramirez Luna (2):
  ARM: OMAP: dmtimer: fix sleeping function called from invalid context
  ARM: OMAP: dmtimer: reorganize omap_dm_timer_request_*

 arch/arm/plat-omap/dmtimer.c              |  104 +++++++++++------------------
 arch/arm/plat-omap/include/plat/dmtimer.h |    6 +-
 2 files changed, 44 insertions(+), 66 deletions(-)

-- 
1.7.5.4




More information about the linux-arm-kernel mailing list