public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] touchscreen:atmel_mxt_ts: suspend/resume cause panic if input_dev fails to init
@ 2015-04-24  3:53 Pan Xinhui
  0 siblings, 0 replies; only message in thread
From: Pan Xinhui @ 2015-04-24  3:53 UTC (permalink / raw)
  To: linux-kernel; +Cc: dmitry.torokhov, nick.dyer, miletus, bleung, djkurtz, mnipxh

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: xinhui.pan <xinhuix.pan@intel.com>
---
  drivers/input/touchscreen/atmel_mxt_ts.c | 6 ++++++
  1 file changed, 6 insertions(+)

diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
index 2875ddf..a39e0dc 100644
--- a/drivers/input/touchscreen/atmel_mxt_ts.c
+++ b/drivers/input/touchscreen/atmel_mxt_ts.c
@@ -2500,6 +2500,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)
@@ -2516,6 +2519,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;
+
  	mxt_soft_reset(data);
  
  	mutex_lock(&input_dev->mutex);
-- 

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2015-04-23  3:54 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-24  3:53 [PATCH] touchscreen:atmel_mxt_ts: suspend/resume cause panic if input_dev fails to init Pan Xinhui

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox