On Fri, 25 May 2018 12:21:09 +0200 Pierre Morel <pmorel@xxxxxxxxxxxxxxxxxx> wrote: > Let's move the state change from the IRQ routine to the > workqueue callback. > > Signed-off-by: Pierre Morel <pmorel@xxxxxxxxxxxxxxxxxx> > --- > drivers/s390/cio/vfio_ccw_drv.c | 20 +++++++------------- > drivers/s390/cio/vfio_ccw_fsm.c | 14 ++++++++------ > 2 files changed, 15 insertions(+), 19 deletions(-) This causes a change in behaviour for devices in the notoper state. Now: - vfio_ccw_sch_irq is called - via the state machine, disabling the subchannel is (re-)triggered With your patch: - the work function is queued in any case; eventually, it will change the device's state to idle (unless we don't have an mdev at that point in time) - completion is signaled I'm not sure that's what we want.