net/axgbe: support flow control
[dpdk.git] / lib / librte_eventdev / rte_event_timer_adapter.c
index 459bc47..161e21a 100644 (file)
@@ -192,17 +192,17 @@ rte_event_timer_adapter_create_ext(
                                                   &adapter->data->caps,
                                                   &adapter->ops);
        if (ret < 0) {
-               rte_errno = ret;
+               rte_errno = -ret;
                goto free_memzone;
        }
 
        if (!(adapter->data->caps &
              RTE_EVENT_TIMER_ADAPTER_CAP_INTERNAL_PORT)) {
-               FUNC_PTR_OR_NULL_RET_WITH_ERRNO(conf_cb, -EINVAL);
+               FUNC_PTR_OR_NULL_RET_WITH_ERRNO(conf_cb, EINVAL);
                ret = conf_cb(adapter->data->id, adapter->data->event_dev_id,
                              &adapter->data->event_port_id, conf_arg);
                if (ret < 0) {
-                       rte_errno = ret;
+                       rte_errno = -ret;
                        goto free_memzone;
                }
        }
@@ -214,10 +214,10 @@ rte_event_timer_adapter_create_ext(
                adapter->ops = &swtim_ops;
 
        /* Allow driver to do some setup */
-       FUNC_PTR_OR_NULL_RET_WITH_ERRNO(adapter->ops->init, -ENOTSUP);
+       FUNC_PTR_OR_NULL_RET_WITH_ERRNO(adapter->ops->init, ENOTSUP);
        ret = adapter->ops->init(adapter);
        if (ret < 0) {
-               rte_errno = ret;
+               rte_errno = -ret;
                goto free_memzone;
        }
 
@@ -509,11 +509,11 @@ event_buffer_flush(struct event_buffer *bufp, uint8_t dev_id, uint8_t port_id,
        *nb_events_flushed = rte_event_enqueue_burst(dev_id, port_id,
                                                     &events[tail_idx], n);
        if (*nb_events_flushed != n) {
-               if (rte_errno == -EINVAL) {
+               if (rte_errno == EINVAL) {
                        EVTIM_LOG_ERR("failed to enqueue invalid event - "
                                      "dropping it");
                        (*nb_events_inv)++;
-               } else if (rte_errno == -ENOSPC)
+               } else if (rte_errno == ENOSPC)
                        rte_pause();
        }
 
@@ -706,11 +706,11 @@ check_destination_event_queue(struct rte_event_timer *evtim,
                                       RTE_EVENT_QUEUE_ATTR_SCHEDULE_TYPE,
                                       &sched_type);
 
-       if ((ret < 0 && ret != -EOVERFLOW) ||
-           evtim->ev.sched_type != sched_type)
-               return -1;
+       if ((ret == 0 && evtim->ev.sched_type == sched_type) ||
+           ret == -EOVERFLOW)
+               return 0;
 
-       return 0;
+       return -1;
 }
 
 static int
@@ -832,7 +832,7 @@ swtim_init(struct rte_event_timer_adapter *adapter)
        if (ret < 0) {
                if (ret != -EALREADY) {
                        EVTIM_LOG_ERR("failed to initialize timer subsystem");
-                       rte_errno = ret;
+                       rte_errno = -ret;
                        goto free_mempool;
                }
        }
@@ -840,7 +840,7 @@ swtim_init(struct rte_event_timer_adapter *adapter)
        ret = rte_timer_data_alloc(&sw->timer_data_id);
        if (ret < 0) {
                EVTIM_LOG_ERR("failed to allocate timer data instance");
-               rte_errno = ret;
+               rte_errno = -ret;
                goto free_mempool;
        }