On Wed,  2 May 2018 09:25:59 +0200
Dong Jia Shi <[email protected]> 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 <[email protected]>

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 <[email protected]>

I guess I should pick this for 4.17?

Reply via email to