qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC PATCH v2 1/2] KVM: s390: virtio-ccw: Handle comman


From: Christian Borntraeger
Subject: Re: [Qemu-devel] [RFC PATCH v2 1/2] KVM: s390: virtio-ccw: Handle command rejects.
Date: Wed, 10 Jul 2013 10:47:25 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130623 Thunderbird/17.0.7

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 <address@hidden>
Acked-by: Christian Borntraeger <address@hidden>



> ---
>  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:
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]