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

Commit ad6be98a authored by Jingkui Wang's avatar Jingkui Wang Committed by Sasha Levin
Browse files

Input: drv260x - fix input device's parent assignment



[ Upstream commit 5a8a6b89c15766446d845671d574a9243b6d8786 ]

We were assigning I2C bus controller instead of client as parent device.
Besides being logically wrong, it messed up with devm handling of input
device. As a result we were leaving input device and event node behind
after rmmod-ing the driver, which lead to a kernel oops if one were to
access the event node later.

Let's remove the assignment and rely on devm_input_allocate_device() to
set it up properly for us.

Signed-off-by: default avatarJingkui Wang <jkwang@google.com>
Fixes: 7132fe4f ("Input: drv260x - add TI drv260x haptics driver")
Cc: stable@vger.kernel.org
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: default avatarSasha Levin <alexander.levin@verizon.com>
parent 2eb056b5
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -597,7 +597,6 @@ static int drv260x_probe(struct i2c_client *client,
	}

	haptics->input_dev->name = "drv260x:haptics";
	haptics->input_dev->dev.parent = client->dev.parent;
	haptics->input_dev->close = drv260x_close;
	input_set_drvdata(haptics->input_dev, haptics);
	input_set_capability(haptics->input_dev, EV_FF, FF_RUMBLE);