mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-23 09:56:00 +00:00
crypto: qat - explicitly stop all VFs first
When stopping devices it is not enought to loop backwards. We need to explicitly stop all VFs first. Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
4218ebe8ca
commit
cb00bca42f
@ -275,7 +275,26 @@ static int adf_ctl_stop_devices(uint32_t id)
|
||||
struct adf_accel_dev *accel_dev;
|
||||
int ret = 0;
|
||||
|
||||
list_for_each_entry_reverse(accel_dev, adf_devmgr_get_head(), list) {
|
||||
list_for_each_entry(accel_dev, adf_devmgr_get_head(), list) {
|
||||
if (id == accel_dev->accel_id || id == ADF_CFG_ALL_DEVICES) {
|
||||
if (!adf_dev_started(accel_dev))
|
||||
continue;
|
||||
|
||||
/* First stop all VFs */
|
||||
if (!accel_dev->is_vf)
|
||||
continue;
|
||||
|
||||
if (adf_dev_stop(accel_dev)) {
|
||||
dev_err(&GET_DEV(accel_dev),
|
||||
"Failed to stop qat_dev%d\n", id);
|
||||
ret = -EFAULT;
|
||||
} else {
|
||||
adf_dev_shutdown(accel_dev);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
list_for_each_entry(accel_dev, adf_devmgr_get_head(), list) {
|
||||
if (id == accel_dev->accel_id || id == ADF_CFG_ALL_DEVICES) {
|
||||
if (!adf_dev_started(accel_dev))
|
||||
continue;
|
||||
|
Loading…
Reference in New Issue
Block a user