This check is unecessary as we already have the vfio state machine to handle I/O requests. On the other hand, this check returns incorrect information to userspace if the state of the subchannel is not idle. For example if the state is busy and new I/O request comes in, this will return an EACCES, whereas we should return EBUSY. Signed-off-by: Farhan Ali <alifm@xxxxxxxxxxxxx> --- drivers/s390/cio/vfio_ccw_ops.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/s390/cio/vfio_ccw_ops.c b/drivers/s390/cio/vfio_ccw_ops.c index f673e10..3fdcc6d 100644 --- a/drivers/s390/cio/vfio_ccw_ops.c +++ b/drivers/s390/cio/vfio_ccw_ops.c @@ -193,8 +193,6 @@ static ssize_t vfio_ccw_mdev_write(struct mdev_device *mdev, return -EINVAL; private = dev_get_drvdata(mdev_parent_dev(mdev)); - if (private->state != VFIO_CCW_STATE_IDLE) - return -EACCES; region = private->io_region; if (copy_from_user((void *)region + *ppos, buf, count)) -- 2.7.4