mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-23 18:07:03 +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;
|
struct adf_accel_dev *accel_dev;
|
||||||
int ret = 0;
|
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 (id == accel_dev->accel_id || id == ADF_CFG_ALL_DEVICES) {
|
||||||
if (!adf_dev_started(accel_dev))
|
if (!adf_dev_started(accel_dev))
|
||||||
continue;
|
continue;
|
||||||
|
Loading…
Reference in New Issue
Block a user