diff options
author | Wei Liu <wei.liu2@citrix.com> | 2016-04-12 11:43:14 +0100 |
---|---|---|
committer | Stefano Stabellini <sstabellini@kernel.org> | 2016-04-12 10:16:08 -0700 |
commit | 4df26e88ee2f23c01418630368e87b719ed06b75 (patch) | |
tree | b000d467c3a85007f0c08e94202798eab14648f6 | |
parent | 42bb626f7ebc9197d2943b897a99e127315275ab (diff) | |
download | qemu-4df26e88ee2f23c01418630368e87b719ed06b75.zip qemu-4df26e88ee2f23c01418630368e87b719ed06b75.tar.gz qemu-4df26e88ee2f23c01418630368e87b719ed06b75.tar.bz2 |
xenfb: use the correct condition to avoid excessive looping
In commit ac0487e1 ("xenfb.c: avoid expensive loops when prod <=
out_cons"), ">=" was used. In fact, a full ring is a legit state.
Correct the test to use ">".
Reported-by: "Hao, Xudong" <xudong.hao@intel.com>
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Tested-by: "Hao, Xudong" <xudong.hao@intel.com>
Acked-by: Anthony Perard <anthony.perard@citrix.com>
Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
-rw-r--r-- | hw/display/xenfb.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/display/xenfb.c b/hw/display/xenfb.c index 40b096a..9866dfd 100644 --- a/hw/display/xenfb.c +++ b/hw/display/xenfb.c @@ -775,7 +775,7 @@ static void xenfb_handle_events(struct XenFB *xenfb) prod = page->out_prod; out_cons = page->out_cons; - if (prod - out_cons >= XENFB_OUT_RING_LEN) { + if (prod - out_cons > XENFB_OUT_RING_LEN) { return; } xen_rmb(); /* ensure we see ring contents up to prod */ |