X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fcrypto%2Fvirtio%2Fvirtio_cryptodev.c;h=568b5a406cb47d57d68903303a618bc3ba4bd76d;hb=d09973f6c4dff9715304ef979c1b0d72aa365193;hp=be6d5d7dc6e30b72d62b277cb54bdeab9b72f1fd;hpb=9843546b8e70c3293579ce3157374cf0f6b88cf7;p=dpdk.git diff --git a/drivers/crypto/virtio/virtio_cryptodev.c b/drivers/crypto/virtio/virtio_cryptodev.c index be6d5d7dc6..568b5a406c 100644 --- a/drivers/crypto/virtio/virtio_cryptodev.c +++ b/drivers/crypto/virtio/virtio_cryptodev.c @@ -518,9 +518,9 @@ static struct rte_cryptodev_ops virtio_crypto_dev_ops = { .queue_pair_count = NULL, /* Crypto related operations */ - .session_get_size = virtio_crypto_sym_get_session_private_size, - .session_configure = virtio_crypto_sym_configure_session, - .session_clear = virtio_crypto_sym_clear_session + .sym_session_get_size = virtio_crypto_sym_get_session_private_size, + .sym_session_configure = virtio_crypto_sym_configure_session, + .sym_session_clear = virtio_crypto_sym_clear_session }; static void @@ -958,7 +958,7 @@ virtio_crypto_sym_clear_session( hw = dev->data->dev_private; vq = hw->cvq; - session = (struct virtio_crypto_session *)get_session_private_data( + session = (struct virtio_crypto_session *)get_sym_session_private_data( sess, cryptodev_virtio_driver_id); if (session == NULL) { VIRTIO_CRYPTO_SESSION_LOG_ERR("Invalid session parameter"); @@ -1076,7 +1076,10 @@ virtio_crypto_sym_clear_session( VIRTIO_CRYPTO_SESSION_LOG_INFO("Close session %"PRIu64" successfully ", session->session_id); - memset(sess, 0, sizeof(struct virtio_crypto_session)); + memset(session, 0, sizeof(struct virtio_crypto_session)); + struct rte_mempool *sess_mp = rte_mempool_from_obj(session); + set_sym_session_private_data(sess, cryptodev_virtio_driver_id, NULL); + rte_mempool_put(sess_mp, session); rte_free(malloc_virt_addr); } @@ -1392,7 +1395,7 @@ virtio_crypto_sym_configure_session( goto error_out; } - set_session_private_data(sess, dev->driver_id, + set_sym_session_private_data(sess, dev->driver_id, session_private); return 0; @@ -1475,9 +1478,7 @@ RTE_PMD_REGISTER_CRYPTO_DRIVER(virtio_crypto_drv, rte_virtio_crypto_driver.driver, cryptodev_virtio_driver_id); -RTE_INIT(virtio_crypto_init_log); -static void -virtio_crypto_init_log(void) +RTE_INIT(virtio_crypto_init_log) { virtio_crypto_logtype_init = rte_log_register("pmd.crypto.virtio.init"); if (virtio_crypto_logtype_init >= 0)