699f685569
Using fence->status to determine whether or not there are callbacks remaining on the sync_fence is racy since fence->status may have been decremented to 0 on another CPU before fence_check_cb_func() has completed. By unconditionally calling fence_remove_callback() for each fence in the sync_fence, we guarantee that each callback has either completed (since fence_remove_callback() grabs the fence lock) or been removed. Signed-off-by: Andrew Bresticker <abrestic@chromium.org> Signed-off-by: Dmitry Torokhov <dtor@chromium.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
---|---|---|
.. | ||
ion | ||
trace | ||
uapi | ||
ashmem.c | ||
ashmem.h | ||
Kconfig | ||
lowmemorykiller.c | ||
Makefile | ||
sw_sync.c | ||
sw_sync.h | ||
sync_debug.c | ||
sync.c | ||
sync.h | ||
timed_gpio.c | ||
timed_gpio.h | ||
timed_output.c | ||
timed_output.h | ||
TODO |