spin_lock_irqsave(&idxd->dev_lock, flags);
idxd_device_clear_state(idxd);
- idxd->state = IDXD_DEV_CONF_READY;
+ idxd->state = IDXD_DEV_DISABLED;
spin_unlock_irqrestore(&idxd->dev_lock, flags);
return 0;
}
idxd_cmd_exec(idxd, IDXD_CMD_RESET_DEVICE, 0, NULL);
spin_lock_irqsave(&idxd->dev_lock, flags);
idxd_device_clear_state(idxd);
- idxd->state = IDXD_DEV_CONF_READY;
+ idxd->state = IDXD_DEV_DISABLED;
spin_unlock_irqrestore(&idxd->dev_lock, flags);
}
int matched = 0;
if (is_idxd_dev(dev)) {
- struct idxd_device *idxd = confdev_to_idxd(dev);
-
- if (idxd->state != IDXD_DEV_CONF_READY)
- return 0;
matched = 1;
} else if (is_idxd_wq_dev(dev)) {
struct idxd_wq *wq = confdev_to_wq(dev);
- struct idxd_device *idxd = wq->idxd;
-
- if (idxd->state < IDXD_DEV_CONF_READY)
- return 0;
if (wq->state != IDXD_WQ_DISABLED) {
dev_dbg(dev, "%s not disabled\n", dev_name(dev));
if (is_idxd_dev(dev)) {
struct idxd_device *idxd = confdev_to_idxd(dev);
- if (idxd->state != IDXD_DEV_CONF_READY) {
- dev_warn(dev, "Device not ready for config\n");
- return -EBUSY;
- }
-
if (!try_module_get(THIS_MODULE))
return -ENXIO;
switch (idxd->state) {
case IDXD_DEV_DISABLED:
- case IDXD_DEV_CONF_READY:
return sysfs_emit(buf, "disabled\n");
case IDXD_DEV_ENABLED:
return sysfs_emit(buf, "enabled\n");