qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] qxl: allowing the command rings to be not empty when spice worker is stopped RHBZ #728984
@ 2011-08-09 13:12 Yonit Halperin
  2011-08-09 13:15 ` [Qemu-devel] [Spice-devel] " Arnon Gilboa
  2011-08-10 15:13 ` [Qemu-devel] " Gerd Hoffmann
  0 siblings, 2 replies; 3+ messages in thread
From: Yonit Halperin @ 2011-08-09 13:12 UTC (permalink / raw)
  To: qemu-devel; +Cc: spice-devel, alevy, kraxel, Yonit Halperin

same as 8927cfbba232e28304734f7afd463c1b84134031, but for qxl_check_state, that was
triggered by qxl_pre_load (which calls qxl_hard_reset, which calls qxl_soft_reset),
and caused the migration target to crash.
---
 hw/qxl.c |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/hw/qxl.c b/hw/qxl.c
index db7ae7a..7991e70 100644
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -821,17 +821,15 @@ static void qxl_check_state(PCIQXLDevice *d)
 {
     QXLRam *ram = d->ram;
 
-    assert(SPICE_RING_IS_EMPTY(&ram->cmd_ring));
-    assert(SPICE_RING_IS_EMPTY(&ram->cursor_ring));
+    assert(!d->ssd.running || SPICE_RING_IS_EMPTY(&ram->cmd_ring));
+    assert(!d->ssd.running || SPICE_RING_IS_EMPTY(&ram->cursor_ring));
 }
 
 static void qxl_reset_state(PCIQXLDevice *d)
 {
-    QXLRam *ram = d->ram;
     QXLRom *rom = d->rom;
 
-    assert(!d->ssd.running || SPICE_RING_IS_EMPTY(&ram->cmd_ring));
-    assert(!d->ssd.running || SPICE_RING_IS_EMPTY(&ram->cursor_ring));
+    qxl_check_state(d);
     d->shadow_rom.update_id = cpu_to_le32(0);
     *rom = d->shadow_rom;
     qxl_rom_set_dirty(d);
-- 
1.7.4.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [Spice-devel] [PATCH] qxl: allowing the command rings to be not empty when spice worker is stopped RHBZ #728984
  2011-08-09 13:12 [Qemu-devel] [PATCH] qxl: allowing the command rings to be not empty when spice worker is stopped RHBZ #728984 Yonit Halperin
@ 2011-08-09 13:15 ` Arnon Gilboa
  2011-08-10 15:13 ` [Qemu-devel] " Gerd Hoffmann
  1 sibling, 0 replies; 3+ messages in thread
From: Arnon Gilboa @ 2011-08-09 13:15 UTC (permalink / raw)
  To: Yonit Halperin; +Cc: spice-devel, qemu-devel

Acked-by: Arnon Gilboa <agilboa@redhat.com>

Yonit Halperin wrote:
> same as 8927cfbba232e28304734f7afd463c1b84134031, but for qxl_check_state, that was
> triggered by qxl_pre_load (which calls qxl_hard_reset, which calls qxl_soft_reset),
> and caused the migration target to crash.
> ---
>  hw/qxl.c |    8 +++-----
>  1 files changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/hw/qxl.c b/hw/qxl.c
> index db7ae7a..7991e70 100644
> --- a/hw/qxl.c
> +++ b/hw/qxl.c
> @@ -821,17 +821,15 @@ static void qxl_check_state(PCIQXLDevice *d)
>  {
>      QXLRam *ram = d->ram;
>  
> -    assert(SPICE_RING_IS_EMPTY(&ram->cmd_ring));
> -    assert(SPICE_RING_IS_EMPTY(&ram->cursor_ring));
> +    assert(!d->ssd.running || SPICE_RING_IS_EMPTY(&ram->cmd_ring));
> +    assert(!d->ssd.running || SPICE_RING_IS_EMPTY(&ram->cursor_ring));
>  }
>  
>  static void qxl_reset_state(PCIQXLDevice *d)
>  {
> -    QXLRam *ram = d->ram;
>      QXLRom *rom = d->rom;
>  
> -    assert(!d->ssd.running || SPICE_RING_IS_EMPTY(&ram->cmd_ring));
> -    assert(!d->ssd.running || SPICE_RING_IS_EMPTY(&ram->cursor_ring));
> +    qxl_check_state(d);
>      d->shadow_rom.update_id = cpu_to_le32(0);
>      *rom = d->shadow_rom;
>      qxl_rom_set_dirty(d);
>   

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH] qxl: allowing the command rings to be not empty when spice worker is stopped RHBZ #728984
  2011-08-09 13:12 [Qemu-devel] [PATCH] qxl: allowing the command rings to be not empty when spice worker is stopped RHBZ #728984 Yonit Halperin
  2011-08-09 13:15 ` [Qemu-devel] [Spice-devel] " Arnon Gilboa
@ 2011-08-10 15:13 ` Gerd Hoffmann
  1 sibling, 0 replies; 3+ messages in thread
From: Gerd Hoffmann @ 2011-08-10 15:13 UTC (permalink / raw)
  To: Yonit Halperin; +Cc: spice-devel, alevy, qemu-devel

On 08/09/11 15:12, Yonit Halperin wrote:
> same as 8927cfbba232e28304734f7afd463c1b84134031, but for qxl_check_state, that was
> triggered by qxl_pre_load (which calls qxl_hard_reset, which calls qxl_soft_reset),
> and caused the migration target to crash.

Added to spice patch queue.

thanks,
   Gerd

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-08-10 15:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-09 13:12 [Qemu-devel] [PATCH] qxl: allowing the command rings to be not empty when spice worker is stopped RHBZ #728984 Yonit Halperin
2011-08-09 13:15 ` [Qemu-devel] [Spice-devel] " Arnon Gilboa
2011-08-10 15:13 ` [Qemu-devel] " Gerd Hoffmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).