crypto: qat - refactor device restart logic
Refactor the restart logic by moving it into the function adf_dev_restart() which uses the safe function adf_dev_up() and adf_dev_down(). This commit does not implement any functional change. Signed-off-by: Shashank Gupta <shashank.gupta@intel.com> Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
2b60f79c7b
commit
b97c5377d6
@ -90,9 +90,7 @@ static void adf_device_reset_worker(struct work_struct *work)
|
||||
struct adf_accel_dev *accel_dev = reset_data->accel_dev;
|
||||
|
||||
adf_dev_restarting_notify(accel_dev);
|
||||
adf_dev_stop(accel_dev);
|
||||
adf_dev_shutdown(accel_dev);
|
||||
if (adf_dev_init(accel_dev) || adf_dev_start(accel_dev)) {
|
||||
if (adf_dev_restart(accel_dev)) {
|
||||
/* The device hanged and we can't restart it so stop here */
|
||||
dev_err(&GET_DEV(accel_dev), "Restart device failed\n");
|
||||
kfree(reset_data);
|
||||
|
@ -60,6 +60,7 @@ int adf_dev_shutdown_cache_cfg(struct adf_accel_dev *accel_dev);
|
||||
|
||||
int adf_dev_up(struct adf_accel_dev *accel_dev, bool init_config);
|
||||
int adf_dev_down(struct adf_accel_dev *accel_dev, bool cache_config);
|
||||
int adf_dev_restart(struct adf_accel_dev *accel_dev);
|
||||
|
||||
void adf_devmgr_update_class_index(struct adf_hw_device_data *hw_data);
|
||||
void adf_clean_vf_map(bool);
|
||||
|
@ -464,3 +464,21 @@ out:
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(adf_dev_up);
|
||||
|
||||
int adf_dev_restart(struct adf_accel_dev *accel_dev)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
if (!accel_dev)
|
||||
return -EFAULT;
|
||||
|
||||
adf_dev_down(accel_dev, false);
|
||||
|
||||
ret = adf_dev_up(accel_dev, false);
|
||||
/* if device is already up return success*/
|
||||
if (ret == -EALREADY)
|
||||
return 0;
|
||||
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(adf_dev_restart);
|
||||
|
Loading…
x
Reference in New Issue
Block a user