Input: ili210x - handle errors from input_mt_init_slots()
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 4 Nov 2019 18:39:41 +0000 (10:39 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 4 Jan 2020 18:17:34 +0000 (19:17 +0100)
[ Upstream commit 43f06a4c639de8ee89fc348a9a3ecd70320a04dd ]

input_mt_init_slots() may fail and we need to handle such failures.

Tested-by: Adam Ford <aford173@gmail.com> #imx6q-logicpd
Tested-by: Sven Van Asbroeck <TheSven73@gmail.com> # ILI2118A variant
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/input/touchscreen/ili210x.c

index e9006407c9bc0a659c2649e2aff9b5e44fd03bf8..f4ebdab06280670d5c55819bb7efa9497f69c0d3 100644 (file)
@@ -334,7 +334,12 @@ static int ili210x_i2c_probe(struct i2c_client *client,
        input_set_abs_params(input, ABS_MT_POSITION_X, 0, 0xffff, 0, 0);
        input_set_abs_params(input, ABS_MT_POSITION_Y, 0, 0xffff, 0, 0);
        touchscreen_parse_properties(input, true, &priv->prop);
-       input_mt_init_slots(input, priv->max_touches, INPUT_MT_DIRECT);
+
+       error = input_mt_init_slots(input, priv->max_touches, INPUT_MT_DIRECT);
+       if (error) {
+               dev_err(dev, "Unable to set up slots, err: %d\n", error);
+               return error;
+       }
 
        error = devm_add_action(dev, ili210x_cancel_work, priv);
        if (error)