diff options
author | Wei Liu | 2016-04-12 12:43:14 +0200 |
---|---|---|
committer | Stefano Stabellini | 2016-04-12 19:16:08 +0200 |
commit | 4df26e88ee2f23c01418630368e87b719ed06b75 (patch) | |
tree | b000d467c3a85007f0c08e94202798eab14648f6 /hw | |
parent | Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into ... (diff) | |
download | qemu-4df26e88ee2f23c01418630368e87b719ed06b75.tar.gz qemu-4df26e88ee2f23c01418630368e87b719ed06b75.tar.xz qemu-4df26e88ee2f23c01418630368e87b719ed06b75.zip |
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>
Diffstat (limited to 'hw')
-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 40b096afa2..9866dfda5f 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 */ |