Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8cf0adf2 authored by Dmitry Torokhov's avatar Dmitry Torokhov
Browse files

Input: synaptics-rmi4 - fix handling failures from rmi_enable_sensor



If rmi_enable_sensor() fails in rmi_driver_probe(), we should not return
immediately, but disable IRQs and tear down function list.

Reviewed-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent f6c4442b
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -1234,16 +1234,21 @@ static int rmi_driver_probe(struct device *dev)
	if (retval < 0)
		goto err_destroy_functions;

	if (data->f01_container->dev.driver)
	if (data->f01_container->dev.driver) {
		/* Driver already bound, so enable ATTN now. */
		return rmi_enable_sensor(rmi_dev);
		retval = rmi_enable_sensor(rmi_dev);
		if (retval)
			goto err_disable_irq;
	}

	return 0;

err_disable_irq:
	rmi_disable_irq(rmi_dev, false);
err_destroy_functions:
	rmi_free_function_list(rmi_dev);
err:
	return retval < 0 ? retval : 0;
	return retval;
}

static struct rmi_driver rmi_physical_driver = {