aboutsummaryrefslogtreecommitdiffstats
path: root/init/main.c
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2008-10-22 10:00:26 -0500
committerRusty Russell <rusty@rustcorp.com.au>2008-10-22 10:00:26 +1100
commit8163bcac779f62c6bf847caed9bce905db0693fb (patch)
tree8fcf397c504fadbebecde09901aacef06b4551d8 /init/main.c
parentc9583e55fa2b08a230c549bd1e3c0bde6c50d9cc (diff)
downloadmrst-s0i3-test-8163bcac779f62c6bf847caed9bce905db0693fb.tar.gz
mrst-s0i3-test-8163bcac779f62c6bf847caed9bce905db0693fb.tar.xz
mrst-s0i3-test-8163bcac779f62c6bf847caed9bce905db0693fb.zip
stop_machine: fix error code handling on multiple cpus
Using |= for updating a value which might be updated on several cpus concurrently will not always work since we need to make sure that the update happens atomically. To fix this just use a write if the called function returns an error code on a cpu. We end up writing the error code of an arbitrary cpu if multiple ones fail but that should be sufficient. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'init/main.c')
0 files changed, 0 insertions, 0 deletions