On 09/07/13 13:34, Cornelia Huck wrote: > A command reject for a ccw may happen if we run on a host not supporting > a certain feature. We want to be able to handle this as special case of > command failure, so let's split this off from the generic -EIO error code. > > Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> > --- > drivers/s390/kvm/virtio_ccw.c | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/drivers/s390/kvm/virtio_ccw.c b/drivers/s390/kvm/virtio_ccw.c > index 779dc51..d6c7aba 100644 > --- a/drivers/s390/kvm/virtio_ccw.c > +++ b/drivers/s390/kvm/virtio_ccw.c > @@ -639,8 +639,15 @@ static void virtio_ccw_int_handler(struct ccw_device *cdev, > (SCSW_STCTL_ALERT_STATUS | SCSW_STCTL_STATUS_PEND))) { > /* OK */ > } > - if (irb_is_error(irb)) > - vcdev->err = -EIO; /* XXX - use real error */ > + if (irb_is_error(irb)) { > + /* Command reject? */ > + if ((scsw_dstat(&irb->scsw) & DEV_STAT_UNIT_CHECK) && > + (irb->ecw[0] & SNS0_CMD_REJECT)) > + vcdev->err = -EOPNOTSUPP; > + else > + /* Map everything else to -EIO. */ > + vcdev->err = -EIO; > + } > if (vcdev->curr_io & activity) { > switch (activity) { > case VIRTIO_CCW_DOING_READ_FEAT: > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html