Input: atmel_mxt_ts - suspend/resume causes panic if input_dev fails to init

input_dev may be NULL if mxt_initialize_input_device fails. But pm ops is
still available and suspend/resume assume
input_dev is not NULL. To fix this issue, we add a check if (!input_dev).

Signed-off-by: Pan Xinhui <[email protected]>
Signed-off-by: Nick Dyer <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
This commit is contained in:
Pan Xinhui 2015-08-04 16:53:04 -07:00 • committed by Dmitry Torokhov
commit 50fabb02c7

View file

@ -2644,6 +2644,9 @@ static int __maybe_unused mxt_suspend(struct device *dev)
struct mxt_data *data = i2c_get_clientdata(client);
struct input_dev *input_dev = data->input_dev;
if (!input_dev)
return 0;
mutex_lock(&input_dev->mutex);
if (input_dev->users)
@ -2660,6 +2663,9 @@ static int __maybe_unused mxt_resume(struct device *dev)
struct mxt_data *data = i2c_get_clientdata(client);
struct input_dev *input_dev = data->input_dev;
if (!input_dev)
return 0;
mutex_lock(&input_dev->mutex);
if (input_dev->users)