Michael S. Tsirkin
32aef620e6
virtio_console: break out of buf poll on remove
...
[ Upstream commit 0e7174b9d5 ]
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 >
Signed-off-by: Sasha Levin <sashal@kernel.org >
2022-04-08 14:22:46 +02:00
..
2022-02-16 12:56:37 +01:00
2022-03-28 09:58:45 +02:00
2022-01-27 11:04:09 +01:00
2022-03-08 19:12:33 +01:00
2022-03-23 09:16:41 +01:00
2022-03-08 19:12:47 +01:00
2022-03-02 11:48:07 +01:00
2022-03-16 14:23:46 +01:00
2022-03-28 09:58:45 +02:00
2022-02-16 12:56:39 +01:00
2022-04-08 14:22:46 +02:00
2022-03-16 14:23:35 +01:00
2022-03-08 19:12:49 +01:00
2022-01-27 11:04:44 +01:00
2022-03-28 09:58:45 +02:00
2022-01-27 11:02:58 +01:00
2022-03-08 19:12:31 +01:00
2022-03-08 19:12:37 +01:00
2022-02-23 12:03:20 +01:00
2022-03-23 09:16:41 +01:00
2022-03-16 14:23:41 +01:00
2022-03-28 09:58:45 +02:00
2022-04-08 14:22:46 +02:00
2022-01-27 11:04:31 +01:00
2022-04-08 14:22:46 +02:00
2022-03-16 14:23:41 +01:00
2022-03-08 19:12:31 +01:00
2022-03-08 19:12:37 +01:00
2022-03-02 11:48:04 +01:00
2022-03-02 11:48:08 +01:00
2022-03-23 09:16:43 +01:00
2022-01-27 11:05:00 +01:00
2022-03-08 19:12:49 +01:00
2022-02-23 12:03:17 +01:00
2022-03-16 14:23:36 +01:00
2022-01-27 11:04:21 +01:00
2022-01-27 11:05:05 +01:00
2022-03-16 14:23:46 +01:00
2022-01-27 11:05:20 +01:00
2022-01-27 11:03:11 +01:00
2022-01-27 11:05:07 +01:00
2022-02-16 12:56:33 +01:00
2022-03-16 14:23:42 +01:00
2022-03-08 19:12:33 +01:00
2022-03-28 09:58:45 +02:00
2022-03-28 09:58:42 +02:00
2022-03-08 19:12:44 +01:00
2022-03-02 11:47:56 +01:00
2022-03-02 11:48:06 +01:00
2022-03-08 19:12:41 +01:00
2022-02-23 12:03:03 +01:00
2022-03-16 14:23:41 +01:00
2022-01-27 11:04:02 +01:00
2022-01-27 11:03:36 +01:00
2022-02-23 12:03:17 +01:00
2022-03-16 14:23:40 +01:00
2022-03-02 11:47:59 +01:00
2022-01-27 11:03:49 +01:00
2022-01-27 11:03:52 +01:00
2022-03-08 19:12:29 +01:00
2022-01-27 11:05:10 +01:00
2022-01-11 15:35:16 +01:00
2022-02-01 17:27:07 +01:00
2022-02-08 18:34:12 +01:00
2022-03-16 14:23:46 +01:00
2022-03-23 09:16:43 +01:00
2022-03-08 19:12:49 +01:00
2022-03-16 14:23:40 +01:00
2022-03-16 14:23:42 +01:00
2022-02-16 12:56:12 +01:00
2022-03-02 11:47:51 +01:00
2022-03-08 19:12:43 +01:00
2022-01-27 11:04:36 +01:00
2022-03-08 19:12:32 +01:00
2022-04-08 14:22:46 +02:00
2022-03-16 14:23:36 +01:00
2022-03-23 09:16:41 +01:00
2022-02-16 12:56:27 +01:00
2022-01-05 12:42:39 +01:00
2022-03-16 14:23:43 +01:00
2022-01-27 11:04:59 +01:00
2022-03-11 12:22:37 +01:00
2021-12-22 09:32:39 +01:00