diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2010-02-24 21:22:14 +0100 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2010-02-24 04:52:17 +0100 |
commit | 169c246a30808588436794e96a97c61a01af9bed (patch) | |
tree | cce7c1e1ca52687f711a18f46ea741841f43ea34 /drivers/virtio | |
parent | virtio: Fix scheduling while atomic in virtio_balloon stats (diff) | |
download | linux-169c246a30808588436794e96a97c61a01af9bed.tar.xz linux-169c246a30808588436794e96a97c61a01af9bed.zip |
virtio: fix balloon without VIRTIO_BALLOON_F_STATS_VQ
When running under qemu-kvm-0.11.0:
BUG: unable to handle kernel paging request at 56e58955
...
Process vballoon (pid: 1297, ti=c7976000 task=c70a6ca0 task.ti=c7
...
Call Trace:
[<c88253a3>] ? balloon+0x1b3/0x440 [virtio_balloon]
[<c041c2d7>] ? schedule+0x327/0x9d0
[<c88251f0>] ? balloon+0x0/0x440 [virtio_balloon]
[<c014a2d4>] ? kthread+0x74/0x80
[<c014a260>] ? kthread+0x0/0x80
[<c0103b36>] ? kernel_thread_helper+0x6/0x30
need_stats_update should be zero-initialized.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Acked-by: Adam Litke <agl@us.ibm.com>
Diffstat (limited to 'drivers/virtio')
-rw-r--r-- | drivers/virtio/virtio_balloon.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c index 3db3d242c3ee..369f2eebbad1 100644 --- a/drivers/virtio/virtio_balloon.c +++ b/drivers/virtio/virtio_balloon.c @@ -292,6 +292,7 @@ static int virtballoon_probe(struct virtio_device *vdev) vb->num_pages = 0; init_waitqueue_head(&vb->config_change); vb->vdev = vdev; + vb->need_stats_update = 0; /* We expect two virtqueues: inflate and deflate, * and optionally stat. */ |