lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200507151147.792578-1-hslester96@gmail.com>
Date:   Thu,  7 May 2020 23:11:47 +0800
From:   Chuhong Yuan <hslester96@...il.com>
To:     unlisted-recipients:; (no To-header on input)
Cc:     Dmitry Torokhov <dmitry.torokhov@...il.com>,
        Maxime Coquelin <mcoquelin.stm32@...il.com>,
        Alexandre Torgue <alexandre.torgue@...com>,
        linux-input@...r.kernel.org,
        linux-stm32@...md-mailman.stormreply.com,
        linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
        Chuhong Yuan <hslester96@...il.com>
Subject: [PATCH] Input: stmfts - add missed input_unregister_device

This driver calls input_register_device() in probe, but misses
input_unregister_device() in probe failure and remove.
Add the missed function calls to fix it.

Signed-off-by: Chuhong Yuan <hslester96@...il.com>
---
 drivers/input/touchscreen/stmfts.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/input/touchscreen/stmfts.c b/drivers/input/touchscreen/stmfts.c
index b6f95f20f924..4345aa98a320 100644
--- a/drivers/input/touchscreen/stmfts.c
+++ b/drivers/input/touchscreen/stmfts.c
@@ -728,8 +728,10 @@ static int stmfts_probe(struct i2c_client *client,
 	}
 
 	err = devm_device_add_group(&client->dev, &stmfts_attribute_group);
-	if (err)
+	if (err) {
+		input_unregister_device(sdata->input);
 		return err;
+	}
 
 	pm_runtime_enable(&client->dev);
 	device_enable_async_suspend(&client->dev);
@@ -739,7 +741,10 @@ static int stmfts_probe(struct i2c_client *client,
 
 static int stmfts_remove(struct i2c_client *client)
 {
+	struct stmfts_data *sdata = i2c_get_clientdata(client);
+
 	pm_runtime_disable(&client->dev);
+	input_unregister_device(sdata->input);
 
 	return 0;
 }
-- 
2.26.2

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ