diff options
| author | Olof Johansson <olof@lixom.net> | 2013-10-27 21:42:44 -0700 |
|---|---|---|
| committer | Olof Johansson <olof@lixom.net> | 2013-10-27 21:42:44 -0700 |
| commit | 3316dee245ef297155fa45b8d14263dfd6a9164b (patch) | |
| tree | 7adbf9875893ce0405f771d92d266d70df1aedbb /kernel/context_tracking.c | |
| parent | f2c4e82e350dab489ae0d8fcd84b780de508ab64 (diff) | |
| parent | 1fecf8958eb7f90791f2c7e99afac393b64fa976 (diff) | |
| download | cachepc-linux-3316dee245ef297155fa45b8d14263dfd6a9164b.tar.gz cachepc-linux-3316dee245ef297155fa45b8d14263dfd6a9164b.zip | |
Merge tag 's3c24xx-dma' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/drivers
From Kukjin Kim, this branch adds device-tree support to the DMA controller
on the older Samsung SoCs. It also adds support for one of the missing SoCs
in the family (2410).
The driver has been Ack:ed by Vinod Koul, but is merged through here due
to dependencies with platform code.
* tag 's3c24xx-dma' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
ARM: S3C24XX: add dma pdata for s3c2410, s3c2440 and s3c2442
dmaengine: s3c24xx-dma: add support for the s3c2410 type of controller
ARM: S3C24XX: Fix possible dma selection warning
ARM: SAMSUNG: set s3c24xx_dma_filter for s3c64xx-spi0 device
ARM: S3C24XX: add platform-devices for new dma driver for s3c2412 and s3c2443
dmaengine: add driver for Samsung s3c24xx SoCs
ARM: S3C24XX: number the dma clocks
+ Linux 3.12-rc3
Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'kernel/context_tracking.c')
| -rw-r--r-- | kernel/context_tracking.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/kernel/context_tracking.c b/kernel/context_tracking.c index 247091bf0587..859c8dfd78a1 100644 --- a/kernel/context_tracking.c +++ b/kernel/context_tracking.c @@ -51,6 +51,15 @@ void context_tracking_user_enter(void) unsigned long flags; /* + * Repeat the user_enter() check here because some archs may be calling + * this from asm and if no CPU needs context tracking, they shouldn't + * go further. Repeat the check here until they support the static key + * check. + */ + if (!static_key_false(&context_tracking_enabled)) + return; + + /* * Some contexts may involve an exception occuring in an irq, * leading to that nesting: * rcu_irq_enter() rcu_user_exit() rcu_user_exit() rcu_irq_exit() @@ -151,6 +160,9 @@ void context_tracking_user_exit(void) { unsigned long flags; + if (!static_key_false(&context_tracking_enabled)) + return; + if (in_interrupt()) return; |
