diff options
| author | Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> | 2019-06-19 15:18:48 +0200 |
|---|---|---|
| committer | Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> | 2019-06-19 15:18:48 +0200 |
| commit | 2ee692802b8f6c54bd6499addd3d07c2833d84d8 (patch) | |
| tree | 6aa9a7de774804de0d5a944436a380eb99a6ac68 /lib/lockref.c | |
| parent | 0f5a5712ad1e3b8472b1c1459681dadad9277067 (diff) | |
| parent | 1dcff4ae65185e8c0300972f6d8d39d9a9db2bda (diff) | |
| download | talos-op-linux-2ee692802b8f6c54bd6499addd3d07c2833d84d8.tar.gz talos-op-linux-2ee692802b8f6c54bd6499addd3d07c2833d84d8.zip | |
Merge tag 'topic/remove-fbcon-notifiers-2019-06-14-1' of git://anongit.freedesktop.org/drm/drm-misc into fbdev-for-next
topic/remove-fbcon-notifiers:
- remove fbdev notifier usage for fbcon, as prep work to clean up the fbcon locking
- assorted locking checks in vt/console code
- assorted notifier and cleanups in fbdev and backlight code
One trivial merge conflict fixed.
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Diffstat (limited to 'lib/lockref.c')
| -rw-r--r-- | lib/lockref.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/lockref.c b/lib/lockref.c index 3d468b53d4c9..5b34bbd3eba8 100644 --- a/lib/lockref.c +++ b/lib/lockref.c @@ -9,6 +9,7 @@ * failure case. */ #define CMPXCHG_LOOP(CODE, SUCCESS) do { \ + int retry = 100; \ struct lockref old; \ BUILD_BUG_ON(sizeof(old) != 8); \ old.lock_count = READ_ONCE(lockref->lock_count); \ @@ -21,6 +22,8 @@ if (likely(old.lock_count == prev.lock_count)) { \ SUCCESS; \ } \ + if (!--retry) \ + break; \ cpu_relax(); \ } \ } while (0) |

