From mboxrd@z Thu Jan 1 00:00:00 1970 From: Cornelia Huck Subject: Re: [PATCH] KVM: s390: virtio_ccw: reset errors for new I/O. Date: Thu, 4 Apr 2013 12:20:03 +0200 Message-ID: <20130404122003.17bd05fa@gondolin> References: <1365063906-61392-1-git-send-email-cornelia.huck@de.ibm.com> <1365063906-61392-2-git-send-email-cornelia.huck@de.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: kvm-owner@vger.kernel.org List-Archive: List-Post: To: Alexander Graf Cc: Marcelo Tosatti , Gleb Natapov , Christian Borntraeger , Carsten Otte , Heiko Carstens , Martin Schwidefsky , KVM , linux-s390 List-ID: On Thu, 4 Apr 2013 11:28:35 +0200 Alexander Graf wrote: > > On 04.04.2013, at 10:25, Cornelia Huck wrote: > > > ccw_io_helper neglected to reset vcdev->err after a new channel > > program had been successfully started, resulting in stale errors > > delivered after one I/O failed. Reset the error after a new > > channel program has been successfully started with no old I/O > > pending. > > > > Signed-off-by: Cornelia Huck > > Shouldn't this be CC: stable? I don't think so, current code will not continue after errors anyway. > > > Alex > > > --- > > drivers/s390/kvm/virtio_ccw.c | 5 ++++- > > 1 file changed, 4 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/s390/kvm/virtio_ccw.c b/drivers/s390/kvm/virtio_ccw.c > > index 42d507c..5948f2a 100644 > > --- a/drivers/s390/kvm/virtio_ccw.c > > +++ b/drivers/s390/kvm/virtio_ccw.c > > @@ -133,8 +133,11 @@ static int ccw_io_helper(struct virtio_ccw_device *vcdev, > > do { > > spin_lock_irqsave(get_ccwdev_lock(vcdev->cdev), flags); > > ret = ccw_device_start(vcdev->cdev, ccw, intparm, 0, 0); > > - if (!ret) > > + if (!ret) { > > + if (!vcdev->curr_io) > > + vcdev->err = 0; > > vcdev->curr_io |= flag; > > + } > > spin_unlock_irqrestore(get_ccwdev_lock(vcdev->cdev), flags); > > cpu_relax(); > > } while (ret == -EBUSY); > > -- > > 1.7.12.4 > > >