summaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
authorArnd Bergmann2019-04-15 17:55:00 +0200
committerCorey Minyard2019-04-17 20:14:25 +0200
commit9a75bd18a85bec5d6d0006a3dba6ff78f65d8fe3 (patch)
treea29be2991092afaebc9607b1fb7d7985424dcbcf /drivers/char
parentipmi: Remove file from ipmi_file_private (diff)
downloadkernel-qcow2-linux-9a75bd18a85bec5d6d0006a3dba6ff78f65d8fe3.tar.gz
kernel-qcow2-linux-9a75bd18a85bec5d6d0006a3dba6ff78f65d8fe3.tar.xz
kernel-qcow2-linux-9a75bd18a85bec5d6d0006a3dba6ff78f65d8fe3.zip
ipmi: avoid atomic_inc in exit function
This causes a link failure on ARM in certain configurations, when we reference each atomic operation from .alt.smp.init in order to patch out atomics on non-SMP systems: `.exit.text' referenced in section `.alt.smp.init' of drivers/char/ipmi/ipmi_msghandler.o: defined in discarded section `.exit.text' of drivers/char/ipmi/ipmi_msghandler.o In this case, we can trivially replace the atomic_inc() with an atomic_set() that has the same effect and does not require a fixup. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Message-Id: <20190415155509.3565087-1-arnd@arndb.de> Signed-off-by: Corey Minyard <cminyard@mvista.com>
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/ipmi/ipmi_msghandler.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c
index 421f86104593..1dc10740fc0f 100644
--- a/drivers/char/ipmi/ipmi_msghandler.c
+++ b/drivers/char/ipmi/ipmi_msghandler.c
@@ -5179,7 +5179,7 @@ static void __exit cleanup_ipmi(void)
* avoids problems with race conditions removing the timer
* here.
*/
- atomic_inc(&stop_operation);
+ atomic_set(&stop_operation, 1);
del_timer_sync(&ipmi_timer);
initialized = false;