On Wed, 18 Oct 2017 12:00:05 +0200 Thomas Huth <th...@redhat.com> wrote:
> On 17.10.2017 16:04, Halil Pasic wrote: > > Simplify the error handling of the MSCH. Let the code detecting the > > condition tell (in a less ambiguous way) how it's to be handled. No > > changes in behavior. > > ok, so you claim no changes in behavior ... > > > Signed-off-by: Halil Pasic <pa...@linux.vnet.ibm.com> > > --- > > hw/s390x/css.c | 18 +++++------------- > > include/hw/s390x/css.h | 2 +- > > target/s390x/ioinst.c | 23 ++++------------------- > > 3 files changed, 10 insertions(+), 33 deletions(-) > > > > diff --git a/hw/s390x/css.c b/hw/s390x/css.c > > index b9e0329825..30fc236946 100644 > > --- a/hw/s390x/css.c > > +++ b/hw/s390x/css.c > > @@ -1347,28 +1347,24 @@ static void copy_schib_from_guest(SCHIB *dest, > > const SCHIB *src) > > } > > } > > > > -int css_do_msch(SubchDev *sch, const SCHIB *orig_schib) > > +IOInstEnding css_do_msch(SubchDev *sch, const SCHIB *orig_schib) > > { > > SCSW *s = &sch->curr_status.scsw; > > PMCW *p = &sch->curr_status.pmcw; > > uint16_t oldflags; > > - int ret; > > SCHIB schib; > > > > if (!(sch->curr_status.pmcw.flags & PMCW_FLAGS_MASK_DNV)) { > > - ret = 0; > > - goto out; > > + return IOINST_CC_EXPECTED; > > } > > > > if (s->ctrl & SCSW_STCTL_STATUS_PEND) { > > - ret = -EINPROGRESS; > > - goto out; > > + return IOINST_CC_STATUS_PRESENT; > > } > > > > if (s->ctrl & > > (SCSW_FCTL_START_FUNC|SCSW_FCTL_HALT_FUNC|SCSW_FCTL_CLEAR_FUNC)) { > > - ret = -EBUSY; > > - goto out; > > + return IOINST_CC_STATUS_PRESENT; > > } > > ... but here you change -EBUSY (which got mapped to CC=2) to > CC_STATUS_PRESENT which means CC=1. So that's a change in behavior. i.e. > this is either a bug, or you should update the patch description with a > justification for this change in behavior. Indeed, that's a bug. We still want cc 2.