On Wed, 2 May 2018 09:25:59 +0200 Dong Jia Shi <bjsdjshi@xxxxxxxxxxxxxxxxxx> wrote: > If device has not been registered, or there is a pending work, s/a pending work/work pending/ > we should reschedule a sch_event call again. > > Signed-off-by: Dong Jia Shi <bjsdjshi@xxxxxxxxxxxxxxxxxx> Slightly off-topic question: Is the mail address with or without the 'vnet' the one to go for? > --- > drivers/s390/cio/vfio_ccw_drv.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/s390/cio/vfio_ccw_drv.c b/drivers/s390/cio/vfio_ccw_drv.c > index ea6a2d0b2894..770fa9cfc310 100644 > --- a/drivers/s390/cio/vfio_ccw_drv.c > +++ b/drivers/s390/cio/vfio_ccw_drv.c > @@ -177,6 +177,7 @@ static int vfio_ccw_sch_event(struct subchannel *sch, int process) > { > struct vfio_ccw_private *private = dev_get_drvdata(&sch->dev); > unsigned long flags; > + int rc = -EAGAIN; > > spin_lock_irqsave(sch->lock, flags); > if (!device_is_registered(&sch->dev)) > @@ -187,6 +188,7 @@ static int vfio_ccw_sch_event(struct subchannel *sch, int process) > > if (cio_update_schib(sch)) { > vfio_ccw_fsm_event(private, VFIO_CCW_EVENT_NOT_OPER); > + rc = 0; > goto out_unlock; > } > > @@ -195,11 +197,12 @@ static int vfio_ccw_sch_event(struct subchannel *sch, int process) > private->state = private->mdev ? VFIO_CCW_STATE_IDLE : > VFIO_CCW_STATE_STANDBY; > } > + rc = 0; > > out_unlock: > spin_unlock_irqrestore(sch->lock, flags); > > - return 0; > + return rc; > } > > static struct css_device_id vfio_ccw_sch_ids[] = { Patch looks good to me. Reviewed-by: Cornelia Huck <cohuck@xxxxxxxxxx> I guess I should pick this for 4.17?