]> Git Repo - linux.git/commitdiff
vfio/ccw: Check return code from subchannel quiesce
authorEric Farman <[email protected]>
Thu, 28 Jul 2022 20:49:14 +0000 (22:49 +0200)
committerAlex Williamson <[email protected]>
Mon, 1 Aug 2022 19:36:47 +0000 (13:36 -0600)
If a subchannel is busy when a close is performed, the subchannel
needs to be quiesced and left nice and tidy, so nothing unexpected
(like a solicited interrupt) shows up while in the closed state.
Unfortunately, the return code from this call isn't checked,
so any busy subchannel is treated as a failing one.

Fix that, so that the close on a busy subchannel happens normally.

Signed-off-by: Eric Farman <[email protected]>
Reviewed-by: Matthew Rosato <[email protected]>
Reviewed-by: Jason Gunthorpe <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Alex Williamson <[email protected]>
drivers/s390/cio/vfio_ccw_fsm.c

index 4b8b623df24f386a7ff581a4be048b89147c8233..a59c758869f8f8c614be642d56d6b5699f697921 100644 (file)
@@ -407,7 +407,7 @@ static void fsm_close(struct vfio_ccw_private *private,
 
        ret = cio_disable_subchannel(sch);
        if (ret == -EBUSY)
-               vfio_ccw_sch_quiesce(sch);
+               ret = vfio_ccw_sch_quiesce(sch);
        if (ret)
                goto err_unlock;
 
This page took 0.057518 seconds and 4 git commands to generate.