kernel_optimize_test/drivers/input/touchscreen
Kevin Hilman 067fb2f648 Input: ads7846 - return error on regulator_get() failure
In probe(), if regulator_get() failed, an error code was not being
returned causing the driver to be successfully bound, even though
probe failed.  This in turn caused the suspend, resume and remove
methods to be registered and accessed via the SPI core.  Since these
functions all access private driver data using pointers that had been
freed during the failed probe, this would lead to unpredictable
behavior.

This patch ensures that probe() returns an error code in this failure
case so the driver is not bound.

Found using lockdep and noticing the lock used in the suspend/resum
path pointed to a bogus lock due to the freed memory.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-05-26 23:34:56 -07:00
..
88pm860x-ts.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ad7877.c Input: ad7877 - keep dma rx buffers in seperate cache lines 2010-05-13 00:43:32 -07:00
ad7879.c Input: ad7879 - support auxiliary GPIOs via gpiolib 2010-01-19 00:31:51 -08:00
ads7846.c Input: ads7846 - return error on regulator_get() failure 2010-05-26 23:34:56 -07:00
atmel_tsadcc.c Input: atmel_tsadcc - use platform parameters 2009-11-20 00:55:21 -08:00
atmel-wm97xx.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
da9034-ts.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
dynapro.c Input: add driver for Dynapro serial touchscreen 2009-10-26 11:01:30 -07:00
eeti_ts.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2010-05-05 07:53:18 -07:00
elo.c Input: elo - switch to using dev_xxx() when printing messages 2010-01-06 23:54:40 -08:00
fujitsu_ts.c get rid of input BIT* duplicate defines 2007-10-19 11:53:42 -07:00
gunze.c Input: remove CVS keywords 2008-05-20 12:17:39 -04:00
h3600_ts_input.c Input: serio - don't use serio->write() directly 2009-08-05 00:43:43 -07:00
hampshire.c Input: add driver for hampshire serial touchscreens 2010-04-13 23:27:41 -07:00
hp680_ts_input.c sh: Migrate common board headers to mach-common/. 2008-10-20 13:02:48 +09:00
htcpen.c Input: add HTC Shift Touchscreen Driver 2008-06-02 00:38:35 -04:00
inexio.c Input: Add driver for iNexio serial touchscreen. 2008-06-30 09:37:32 -04:00
jornada720_ts.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
Kconfig Input: add driver for hampshire serial touchscreens 2010-04-13 23:27:41 -07:00
mainstone-wm97xx.c Input: wm97xx - provide coordinate logs for accelerated I/O 2010-01-28 22:38:30 -08:00
Makefile Input: add driver for hampshire serial touchscreens 2010-04-13 23:27:41 -07:00
mc13783_ts.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mcs5000_ts.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
migor_ts.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mk712.c Input: drop redundant includes of moduleparam.h 2008-01-21 01:11:07 -05:00
mtouch.c get rid of input BIT* duplicate defines 2007-10-19 11:53:42 -07:00
pcap_ts.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
penmount.c get rid of input BIT* duplicate defines 2007-10-19 11:53:42 -07:00
s3c2410_ts.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
touchit213.c Input: add driver for Tabletkiosk Sahara TouchIT-213 touchscreen 2008-07-07 12:00:30 -04:00
touchright.c get rid of input BIT* duplicate defines 2007-10-19 11:53:42 -07:00
touchwin.c get rid of input BIT* duplicate defines 2007-10-19 11:53:42 -07:00
tsc2007.c Input: tsc2007 - do not leave dangling clientdata pointer 2010-04-13 23:26:40 -07:00
ucb1400_ts.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
usbtouchscreen.c Input: usbtouchscreen - switch to using kmemdup() 2010-05-19 10:14:31 -07:00
w90p910_ts.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
wacom_w8001.c Input: wacom_w8001 - simplify querying logic 2009-09-03 20:38:37 -07:00
wm97xx-core.c Input: wm9712 - fix wm97xx_set_gpio() logic 2010-05-19 10:13:35 -07:00
wm9705.c Merge branch 'next' into for-linus 2008-10-15 23:29:12 -04:00
wm9712.c Merge branch 'next' into for-linus 2008-10-15 23:29:12 -04:00
wm9713.c Merge branch 'next' into for-linus 2008-10-15 23:29:12 -04:00
zylonite-wm97xx.c Input: wm97xx - provide coordinate logs for accelerated I/O 2010-01-28 22:38:30 -08:00