| From 5a8a6b89c15766446d845671d574a9243b6d8786 Mon Sep 17 00:00:00 2001 |
| From: Jingkui Wang <jkwang@google.com> |
| Date: Mon, 12 Dec 2016 13:51:46 -0800 |
| Subject: Input: drv260x - fix input device's parent assignment |
| |
| From: Jingkui Wang <jkwang@google.com> |
| |
| commit 5a8a6b89c15766446d845671d574a9243b6d8786 upstream. |
| |
| 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: Jingkui Wang <jkwang@google.com> |
| Fixes: 7132fe4f5687 ("Input: drv260x - add TI drv260x haptics driver") |
| Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/input/misc/drv260x.c | 1 - |
| 1 file changed, 1 deletion(-) |
| |
| --- a/drivers/input/misc/drv260x.c |
| +++ b/drivers/input/misc/drv260x.c |
| @@ -592,7 +592,6 @@ static int drv260x_probe(struct i2c_clie |
| } |
| |
| 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); |