Thread (31 messages) 31 messages, 4 authors, 2011-12-07

Re: [PATCH v4 04/12] virtio: console: Add freeze and restore handlers to support S4

From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2011-12-07 15:52:52
Also in: lkml

On Wed, Dec 07, 2011 at 04:29:55PM +0530, Amit Shah wrote:
On (Wed) 07 Dec 2011 [12:43:24], Michael S. Tsirkin wrote:
quoted
quoted
diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c
index e14f5aa..fd2fd6f 100644
--- a/drivers/char/virtio_console.c
+++ b/drivers/char/virtio_console.c
@@ -1844,6 +1844,60 @@ static unsigned int features[] = {
 	VIRTIO_CONSOLE_F_MULTIPORT,
 };
 
+#ifdef CONFIG_PM
+static int virtcons_freeze(struct virtio_device *vdev)
+{
+	struct ports_device *portdev;
+	struct port *port;
+
+	portdev = vdev->priv;
+
+	vdev->config->reset(vdev);

So here, cancel_work_sync might still be running.
If it does run, might it try to access the device
config?  Could not determine this quickly, if yes it's a problem.
Similar to the other comment: I don't see why just resetting device
can cause config queue access to go bad.

		Amit
Hmm, not sure anymore. Sorry.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help