Commit ec7aa963 authored by Insu Yun's avatar Insu Yun Committed by Dmitry Torokhov

Input: xen - check return value of xenbus_printf

Internally, xenbus_printf uses memory allocation, so it can fail under
memory pressure, leaving the input device configured as absolute with the
backend supplying relative coordinates.
Signed-off-by: default avatarInsu Yun <wuninsu@gmail.com>
Reviewed-by: default avatarJulien Grall <julien.grall@citrix.com>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent ba564e78
...@@ -129,8 +129,14 @@ static int xenkbd_probe(struct xenbus_device *dev, ...@@ -129,8 +129,14 @@ static int xenkbd_probe(struct xenbus_device *dev,
if (xenbus_scanf(XBT_NIL, dev->otherend, "feature-abs-pointer", "%d", &abs) < 0) if (xenbus_scanf(XBT_NIL, dev->otherend, "feature-abs-pointer", "%d", &abs) < 0)
abs = 0; abs = 0;
if (abs) if (abs) {
xenbus_printf(XBT_NIL, dev->nodename, "request-abs-pointer", "1"); ret = xenbus_printf(XBT_NIL, dev->nodename,
"request-abs-pointer", "1");
if (ret) {
pr_warning("xenkbd: can't request abs-pointer");
abs = 0;
}
}
/* keyboard */ /* keyboard */
kbd = input_allocate_device(); kbd = input_allocate_device();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment