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
2021-11-06 14:13:31 +01: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
2021-09-01 08:44:42 -07: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
2021-11-12 15:05:51 +01:00
2022-01-27 11:04:44 +01:00
2021-11-18 19:16:29 +01:00
2022-03-28 09:58:45 +02:00
2022-01-27 11:02:58 +01:00
2021-09-09 11:39:57 -07:00
2021-09-08 11:50:26 -07: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
2021-09-11 09:47:33 -07:00
2022-03-23 09:16:41 +01:00
2021-09-27 14:00:41 -07: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
2021-11-18 19:16:06 +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
2021-09-27 17:38:49 +02: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
2021-09-14 13:23:22 -07:00
2022-01-27 11:05:05 +01:00
2021-09-14 11:22:26 +02: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
2021-11-18 19:16:32 +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
2021-11-18 19:16:08 +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
2021-11-18 19:17:07 +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
2021-11-18 19:17:00 +01:00
2022-02-23 12:03:03 +01:00
2021-09-02 13:16:00 -07: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
2021-08-25 20:12:16 +02:00
2022-01-27 11:03:52 +01:00
2021-09-02 22:27:46 +02: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
2021-11-25 09:48:31 +01:00
2021-09-01 08:44:42 -07:00
2022-03-08 19:12:49 +01:00
2021-11-18 19:16:54 +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
2021-09-23 14:12:36 -06: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
2021-11-18 19:17:03 +01:00
2022-03-11 12:22:37 +01:00
2021-10-07 16:51:26 +02:00
2021-12-22 09:32:39 +01:00