You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge: virtio_console: break out of buf poll on remove
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/2064
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1786239
Upstream Status: All mainline
A common pattern for device reset is currently:
vdev->config->reset(vdev);
.. cleanup ..
reset prevents new interrupts from arriving and waits for interrupt
handlers to finish.
However if - as is common - the handler queues a work request which is
flushed during the cleanup stage, we have code adding buffers / trying
to get buffers while device is reset. Not good.
This was reproduced by running
modprobe virtio_console
modprobe -r virtio_console
in a loop.
Fix this up by calling virtio_break_device + flush before reset.
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1786239
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
(cherry picked from commit 0e7174b)
Signed-off-by: Cindy Lu <lulu@redhat.com>
Approved-by: Eugenio Pérez <eperezma@redhat.com>
Approved-by: Laurent Vivier <lvivier@redhat.com>
Approved-by: Jason Wang <jasowang@redhat.com>
Approved-by: MST <mst@redhat.com>
Signed-off-by: Herton R. Krzesinski <herton@redhat.com>
0 commit comments