crypto: qat - ignore subsequent state up commands
[ Upstream commit 9c20cb8b1847dedddec3d5163079290542bf00bf ]
If the device is already in the up state, a subsequent write of `up` to
the sysfs attribute /sys/bus/pci/devices/<BDF>/qat/state brings the
device down.
Fix this behaviour by ignoring subsequent `up` commands if the device is
already in the up state.
Fixes: 1bdc85550a2b ("crypto: qat - fix concurrency issue when device state changes")
Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Reviewed-by: Adam Guerin <adam.guerin@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
bb55130d02
commit
e3294cccd8
1 changed files with 3 additions and 1 deletions
|
|
@ -61,7 +61,9 @@ static ssize_t state_store(struct device *dev, struct device_attribute *attr,
|
||||||
dev_info(dev, "Starting device qat_dev%d\n", accel_id);
|
dev_info(dev, "Starting device qat_dev%d\n", accel_id);
|
||||||
|
|
||||||
ret = adf_dev_up(accel_dev, true);
|
ret = adf_dev_up(accel_dev, true);
|
||||||
if (ret < 0) {
|
if (ret == -EALREADY) {
|
||||||
|
break;
|
||||||
|
} else if (ret) {
|
||||||
dev_err(dev, "Failed to start device qat_dev%d\n",
|
dev_err(dev, "Failed to start device qat_dev%d\n",
|
||||||
accel_id);
|
accel_id);
|
||||||
adf_dev_down(accel_dev, true);
|
adf_dev_down(accel_dev, true);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue