kernel_optimize_test/drivers/input
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
..
gameport 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
joystick Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2010-05-13 07:28:43 -07:00
keyboard Input: do not force selecting i8042 on Moorestown 2010-05-19 10:14:25 -07:00
misc Input: twl4030-vibra - correct the power down sequence 2010-05-22 00:58:06 -07:00
mouse Input: psmouse - small formatting changes to better follow coding style 2010-05-19 11:31:51 -07:00
serio Input: i8042 - add a PNP entry to the aux device list 2010-05-19 10:14:04 -07:00
tablet Input: kbtab - do not advertise unsupported events 2010-04-20 22:34:47 -07:00
touchscreen Input: ads7846 - return error on regulator_get() failure 2010-05-26 23:34:56 -07:00
apm-power.c Input: apm-power - fix crash when unloading modules 2008-03-24 11:02:06 -04:00
evbug.c Input: struct device - replace bus_id with dev_name(), dev_set_name() 2008-10-30 09:29:05 -04:00
evdev.c Input: scancode in get/set_keycodes should be unsigned 2010-03-08 23:19:15 -08:00
ff-core.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
ff-memless.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
fixp-arith.h changed email 2007-10-20 00:47:32 +02:00
input-compat.c Input: refactor evdev 32bit compat to be shareable with uinput 2008-10-27 22:03:42 -04:00
input-compat.h [IA64] Remove COMPAT_IA32 support 2010-02-08 10:42:17 -08:00
input-polldev.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
input.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2010-04-15 11:49:55 -07:00
joydev.c Input: use ABS_CNT rather than (ABS_MAX + 1) 2010-05-20 23:05:28 -07:00
Kconfig Merge branch 'xen/fbdev' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen 2009-12-10 09:34:40 -08:00
Makefile Input: add generic support for sparse keymaps 2009-12-07 09:26:35 -08:00
mousedev.c Input: mousedev - remove BKL 2010-03-09 22:05:09 -08:00
sparse-keymap.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2010-04-15 11:49:55 -07:00
xen-kbdfront.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