eal/linux: fix return after alarm registration failure
[dpdk.git] / lib / librte_eal / linux / eal / eal_alarm.c
index 840ede7..0924c92 100644 (file)
@@ -137,9 +137,10 @@ rte_eal_alarm_set(uint64_t us, rte_eal_alarm_callback cb_fn, void *cb_arg)
 
        rte_spinlock_lock(&alarm_list_lk);
        if (!handler_registered) {
-               ret |= rte_intr_callback_register(&intr_handle,
-                               eal_alarm_callback, NULL);
-               handler_registered = (ret == 0) ? 1 : 0;
+               /* registration can fail, callback can be registered later */
+               if (rte_intr_callback_register(&intr_handle,
+                               eal_alarm_callback, NULL) == 0)
+                       handler_registered = 1;
        }
 
        if (LIST_EMPTY(&alarm_list))