aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2010-09-02 19:54:27 -0700
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2010-09-05 12:09:12 -0700
commitcdd194779b72fe6d5e1b5b67ef57a0fddbd60eac (patch)
tree999f398bac1e40138afe262368ff4febff7760aa /drivers/input
parentInput: stmpe-ts - remove input_free_device() in stmpe_ts_remove() (diff)
downloadlinux-dev-cdd194779b72fe6d5e1b5b67ef57a0fddbd60eac.tar.xz
linux-dev-cdd194779b72fe6d5e1b5b67ef57a0fddbd60eac.zip
Input: stmpe-ts - return -ENOMEM when memory allocation fails
Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Wolfram Sang <w.sang@pengutronix.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/input')
-rw-r--r--drivers/input/touchscreen/stmpe-ts.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/input/touchscreen/stmpe-ts.c b/drivers/input/touchscreen/stmpe-ts.c
index 0339d1d0d29e..ae88e13c99ff 100644
--- a/drivers/input/touchscreen/stmpe-ts.c
+++ b/drivers/input/touchscreen/stmpe-ts.c
@@ -268,7 +268,7 @@ static int __devinit stmpe_input_probe(struct platform_device *pdev)
struct stmpe_touch *ts;
struct input_dev *idev;
struct stmpe_ts_platform_data *ts_pdata = NULL;
- int ret = 0;
+ int ret;
int ts_irq;
ts_irq = platform_get_irq_byname(pdev, "FIFO_TH");
@@ -276,12 +276,16 @@ static int __devinit stmpe_input_probe(struct platform_device *pdev)
return ts_irq;
ts = kzalloc(sizeof(*ts), GFP_KERNEL);
- if (!ts)
+ if (!ts) {
+ ret = -ENOMEM;
goto err_out;
+ }
idev = input_allocate_device();
- if (!idev)
+ if (!idev) {
+ ret = -ENOMEM;
goto err_free_ts;
+ }
platform_set_drvdata(pdev, ts);
ts->stmpe = stmpe;