From 7c258f501ee09c1388a1ecef232db7b648d46aed Mon Sep 17 00:00:00 2001 From: Marco Chiappero Date: Thu, 12 Aug 2021 21:21:24 +0100 Subject: crypto: qat - complete all the init steps before service notification Make sure all the steps in the initialization sequence are complete before any completion event notification. Signed-off-by: Marco Chiappero Co-developed-by: Giovanni Cabiddu Signed-off-by: Giovanni Cabiddu Reviewed-by: Fiona Trahe Signed-off-by: Herbert Xu --- drivers/crypto/qat/qat_common/adf_init.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'drivers/crypto') diff --git a/drivers/crypto/qat/qat_common/adf_init.c b/drivers/crypto/qat/qat_common/adf_init.c index 346dcb8bcca5..52ce1fde9e93 100644 --- a/drivers/crypto/qat/qat_common/adf_init.c +++ b/drivers/crypto/qat/qat_common/adf_init.c @@ -110,6 +110,11 @@ int adf_dev_init(struct adf_accel_dev *accel_dev) set_bit(ADF_STATUS_IRQ_ALLOCATED, &accel_dev->status); hw_data->enable_ints(accel_dev); + hw_data->enable_error_correction(accel_dev); + + ret = hw_data->enable_vf2pf_comms(accel_dev); + if (ret) + return ret; /* * Subservice initialisation is divided into two stages: init and start. @@ -127,10 +132,7 @@ int adf_dev_init(struct adf_accel_dev *accel_dev) set_bit(accel_dev->accel_id, service->init_status); } - hw_data->enable_error_correction(accel_dev); - ret = hw_data->enable_vf2pf_comms(accel_dev); - - return ret; + return 0; } EXPORT_SYMBOL_GPL(adf_dev_init); -- cgit v1.2.3-59-g8ed1b