diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-04-06 05:57:19 -0400 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-04-06 05:57:19 -0400 |
| commit | 1bb025f6db789ea0bb674eaed15ee843ef0b2e88 (patch) | |
| tree | cdbaa7f57ce541abb5b973803712a9f55307c355 /kernel/sched/core.c | |
| parent | f55532a0c0b8bb6148f4e07853b876ef73bc69ca (diff) | |
| parent | f75587b8ca69768c6cf8a38a0b61e68e1bea3d36 (diff) | |
| download | talos-op-linux-1bb025f6db789ea0bb674eaed15ee843ef0b2e88.tar.gz talos-op-linux-1bb025f6db789ea0bb674eaed15ee843ef0b2e88.zip | |
Merge tag 'extcon-fixes-for-4.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon into char-misc-linus
Chanwoo writes:
Update extcon for v4.6-rc3
This patch fixes the following one issue:
- In extcon-palmas.c, the external abort happen when wake-up from suspend state
on BeagleBoard-X15 platform. So, drop the IRQF_EARLY_RESUME flag.
Diffstat (limited to 'kernel/sched/core.c')
| -rw-r--r-- | kernel/sched/core.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index d8465eeab8b3..8b489fcac37b 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -321,6 +321,24 @@ static inline void init_hrtick(void) } #endif /* CONFIG_SCHED_HRTICK */ +/* + * cmpxchg based fetch_or, macro so it works for different integer types + */ +#define fetch_or(ptr, mask) \ + ({ \ + typeof(ptr) _ptr = (ptr); \ + typeof(mask) _mask = (mask); \ + typeof(*_ptr) _old, _val = *_ptr; \ + \ + for (;;) { \ + _old = cmpxchg(_ptr, _val, _val | _mask); \ + if (_old == _val) \ + break; \ + _val = _old; \ + } \ + _old; \ +}) + #if defined(CONFIG_SMP) && defined(TIF_POLLING_NRFLAG) /* * Atomically set TIF_NEED_RESCHED and test for TIF_POLLING_NRFLAG, |

