From: Tejun Heo Date: Tue, 14 Aug 2012 00:08:19 +0000 (-0700) Subject: workqueue: add missing wmb() in clear_work_data() X-Git-Tag: omap-for-v3.7-rc1/fixes-cpufreq-signed~52^2~32 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=23657bb192f14b789e4c478def8f11ecc95b4f6c;p=pandora-kernel.git workqueue: add missing wmb() in clear_work_data() Any operation which clears PENDING should be preceded by a wmb to guarantee that the next PENDING owner sees all the changes made before PENDING release. There are only two places where PENDING is cleared - set_work_cpu_and_clear_pending() and clear_work_data(). The caller of the former already does smp_wmb() but the latter doesn't have any. Move the wmb above set_work_cpu_and_clear_pending() into it and add one to clear_work_data(). There hasn't been any report related to this issue, and, given how clear_work_data() is used, it is extremely unlikely to have caused any actual problems on any architecture. Signed-off-by: Tejun Heo Cc: Oleg Nesterov --- Reading git-diff-tree failed