crypto/scheduler: fix ring dequeue return handling
authorFan Zhang <roy.fan.zhang@intel.com>
Wed, 19 Apr 2017 14:47:02 +0000 (15:47 +0100)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Thu, 20 Apr 2017 09:32:45 +0000 (11:32 +0200)
Commit <ecaed092b677> ("ring: return remaining entry count when
dequeuing") changed the return of rte_ring_sc_dequeue_bulk.
This patch updates the scheduler to comply with this change.

Fixes: 8a48e039432b ("crypto/scheduler: optimize crypto op ordering")

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
drivers/crypto/scheduler/scheduler_pmd_private.h

index 33edd1d..421dae3 100644 (file)
@@ -132,7 +132,7 @@ scheduler_order_drain(struct rte_ring *order_ring,
        struct rte_crypto_op *op;
        uint32_t nb_objs = rte_ring_count(order_ring);
        uint32_t nb_ops_to_deq = 0;
-       int status = -1;
+       uint32_t nb_ops_deqd = 0;
 
        if (nb_objs > nb_ops)
                nb_objs = nb_ops;
@@ -145,10 +145,10 @@ scheduler_order_drain(struct rte_ring *order_ring,
        }
 
        if (nb_ops_to_deq)
-               status = rte_ring_sc_dequeue_bulk(order_ring, (void **)ops,
-                               nb_ops_to_deq, NULL);
+               nb_ops_deqd = rte_ring_sc_dequeue_bulk(order_ring,
+                               (void **)ops, nb_ops_to_deq, NULL);
 
-       return (status == 0) ? nb_ops_to_deq : 0;
+       return nb_ops_deqd;
 }
 /** device specific operations function pointer structure */
 extern struct rte_cryptodev_ops *rte_crypto_scheduler_pmd_ops;