Re: [PATCH 1/1] vfio: ccw: fix error return in vfio_ccw_sch_event

From: Cornelia Huck
Date: Wed May 02 2018 - 10:43:02 EST


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?