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
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.