Star64_linux/drivers/gpio
Michael Stickel 3e3bed913e gpio: mcp23s08: fixed count variable for devicetree probing
Fixed missing increase of count variable for devicetree path in driver
probing.

The gpio-mcp23s08 driver has two paths for getting the platform
registration information. One for the classic platform initialization
and one for openfirmware devicetree based initialization. The devicetree
based path is missing the increase of the count variable, which results
in the count variable to become negative in the later use, where it is
decreased. The count variable is used as an index into a vector. This
results in accessing invalid memory space and can result in an exception.

Tested this with an AM3352 SoC with two mcp23s17 on two chip selects as
well as on a shared chip select.

Signed-off-by: Michael Stickel <ms@mycable.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2014-05-27 15:50:57 +02:00
..
devres.c gpio: Add helpers for optional GPIOs 2014-05-09 13:48:30 +02:00
gpio-74x164.c gpio: 74x164: Driver cleanup 2013-12-12 14:28:12 +01:00
gpio-adnp.c gpio: switch drivers to use new callback 2014-03-18 09:28:30 +01:00
gpio-adp5520.c gpio: adp5520: remove unnecessary OOM messages 2014-05-09 10:54:33 +02:00
gpio-adp5588.c gpio: adp5588: remove unnecessary OOM messages 2014-05-09 10:54:37 +02:00
gpio-amd8111.c gpio: remove DEFINE_PCI_DEVICE_TABLE macro 2013-12-03 13:16:09 +01:00
gpio-arizona.c gpio/pinctrl: make gpio_chip members typed boolean 2013-12-04 14:42:46 +01:00
gpio-bcm-kona.c gpio: switch drivers to use new callback 2014-03-18 09:28:30 +01:00
gpio-bt8xx.c gpio: bt8xx: use devm function for memory allocation 2014-05-16 17:52:36 +02:00
gpio-clps711x.c Linux 3.14-rc6 2014-03-14 10:26:45 +01:00
gpio-cs5535.c
gpio-da9052.c gpio/pinctrl: make gpio_chip members typed boolean 2013-12-04 14:42:46 +01:00
gpio-da9055.c gpio/pinctrl: make gpio_chip members typed boolean 2013-12-04 14:42:46 +01:00
gpio-davinci.c gpio: davinci: remove unnecessary OOM messages 2014-05-09 10:54:39 +02:00
gpio-dwapb.c gpio: dwapb: drop irq_setup_generic_chip() 2014-04-28 12:35:08 -07:00
gpio-em.c gpio: em: remove unnecessary OOM messages 2014-05-09 10:54:44 +02:00
gpio-ep93xx.c gpio: gpioep93xx: use devm functions 2014-05-16 17:52:38 +02:00
gpio-f7188x.c gpio: f7188x: set can_sleep attribute 2014-01-07 19:02:01 +01:00
gpio-ge.c gpio: ge: Convert to platform driver 2014-04-28 12:35:09 -07:00
gpio-generic.c gpio: generic: add request function pointer 2014-05-23 14:31:51 +02:00
gpio-grgpio.c gpio: grgpio: Make of_device_id array const 2014-05-09 10:57:36 +02:00
gpio-ich.c gpio: ich: Add support for Intel Avoton 2014-03-19 08:58:23 +00:00
gpio-intel-mid.c gpio: switch drivers to use new callback 2014-03-18 09:28:30 +01:00
gpio-iop.c gpio: iop: fix devm_ioremap_resource() return value checking 2014-03-26 10:31:34 +01:00
gpio-it8761e.c
gpio-janz-ttl.c gpio: janzttl: use devm function 2014-05-16 17:52:37 +02:00
gpio-kempld.c gpio: kempld: use BIT() macro instead of shifting bits 2014-05-03 12:16:07 -07:00
gpio-ks8695.c gpio/pinctrl: make gpio_chip members typed boolean 2013-12-04 14:42:46 +01:00
gpio-lp3943.c gpio: lp3943: Remove redundant of_match_ptr helper 2014-01-21 08:29:00 +00:00
gpio-lpc32xx.c gpio/pinctrl: make gpio_chip members typed boolean 2013-12-04 14:42:46 +01:00
gpio-lynxpoint.c gpio: lynxpoint: remove unnecessary OOM messages 2014-05-09 10:54:52 +02:00
gpio-max730x.c gpio: max730x: Remove kfree(ts) in __max730x_remove() 2014-04-28 12:35:09 -07:00
gpio-max732x.c gpio: max732x: Fix possible NULL pointer dereference on i2c_new_dummy error 2014-03-12 14:50:51 +01:00
gpio-max7300.c
gpio-max7301.c
gpio-mc9s08dz60.c gpio/pinctrl: make gpio_chip members typed boolean 2013-12-04 14:42:46 +01:00
gpio-mc33880.c gpio/pinctrl: make gpio_chip members typed boolean 2013-12-04 14:42:46 +01:00
gpio-mcp23s08.c gpio: mcp23s08: fixed count variable for devicetree probing 2014-05-27 15:50:57 +02:00
gpio-ml-ioh.c gpio/pinctrl: make gpio_chip members typed boolean 2013-12-04 14:42:46 +01:00
gpio-mm-lantiq.c
gpio-moxart.c gpio: moxart: remove unnecessary OOM messages 2014-05-09 10:54:56 +02:00
gpio-mpc8xxx.c powerpc/gpio: Fix the wrong GPIO input data on MPC8572/MPC8536 2013-12-03 13:10:48 +01:00
gpio-mpc5200.c
gpio-msic.c gpio/pinctrl: make gpio_chip members typed boolean 2013-12-04 14:42:46 +01:00
gpio-msm-v1.c
gpio-msm-v2.c GPIO tree bulk changes for v3.14 2014-01-21 10:09:12 -08:00
gpio-mvebu.c gpio: mvebu: Remove initcall-based driver initialization 2014-05-09 11:08:11 +02:00
gpio-mxc.c gpio: mxc: Do not hard code return value 2014-01-02 13:55:53 +01:00
gpio-mxs.c gpio: mxs: Allow for recursive enable_irq_wake() call 2014-03-27 10:11:59 +01:00
gpio-octeon.c gpio/pinctrl: make gpio_chip members typed boolean 2013-12-04 14:42:46 +01:00
gpio-omap.c gpio: omap: prepare and unprepare the debounce clock 2014-05-16 17:52:35 +02:00
gpio-palmas.c gpio: palmas: Make of_device_id array const 2014-05-09 11:01:24 +02:00
gpio-pca953x.c gpio: pca953x: request a shared interrupt 2014-05-09 12:58:12 +02:00
gpio-pcf857x.c gpio/pinctrl: make gpio_chip members typed boolean 2013-12-04 14:42:46 +01:00
gpio-pch.c gpio: pch: add slab include 2014-05-27 15:15:21 +02:00
gpio-pl061.c gpio: pl061: use BIT() macro instead of shifting bits 2014-05-03 12:16:24 -07:00
gpio-pxa.c gpio: pxa: clamp gpio get value to [0,1] 2014-01-15 08:56:20 +01:00
gpio-rc5t583.c gpio: rc5t583: remove unnecessary OOM messages 2014-05-09 10:55:08 +02:00
gpio-rcar.c gpio: rcar: remove unnecessary OOM messages 2014-05-09 10:55:11 +02:00
gpio-rdc321x.c gpio: rdc321x: remove unnecessary OOM messages 2014-05-09 10:55:15 +02:00
gpio-sa1100.c
gpio-samsung.c gpio: samsung: Add missing "break" statement 2014-03-27 10:08:59 +01:00
gpio-sch.c gpio-sch: set output level after configuration of direction 2014-04-28 12:35:08 -07:00
gpio-sch311x.c gpio: sch311x: Slightly refactor sch311x_detect for better readability 2014-04-28 12:35:09 -07:00
gpio-sodaville.c gpio: sodaville: fix some error return code on error path 2013-12-20 10:23:18 +01:00
gpio-spear-spics.c gpio: SPEAr: remove unnecessary OOM messages 2014-05-09 10:55:19 +02:00
gpio-sta2x11.c gpio/pinctrl: make gpio_chip members typed boolean 2013-12-04 14:42:46 +01:00
gpio-stmpe.c gpio/pinctrl: make gpio_chip members typed boolean 2013-12-04 14:42:46 +01:00
gpio-stp-xway.c
gpio-sx150x.c gpio: pl061/sx150x: Remove unneeded include of linux/workqueue.h 2014-04-28 12:35:09 -07:00
gpio-syscon.c gpio: Driver for SYSCON-based GPIOs 2014-03-18 09:28:31 +01:00
gpio-tb10x.c gpio: tb10x: Remove redundant of_match_ptr helper 2014-01-02 14:03:22 +01:00
gpio-tc3589x.c gpio: tc3589x: use gpiolib irqchip helpers 2014-04-28 12:35:07 -07:00
gpio-tegra.c gpio: tegra: Make of_device_id array const 2014-05-09 11:01:53 +02:00
gpio-timberdale.c gpio: timberdale: use devm functions 2014-05-16 17:52:37 +02:00
gpio-tps6586x.c gpio: tps6586x: remove unnecessary OOM messages 2014-05-09 10:55:27 +02:00
gpio-tps65910.c gpio: tps65910: remove unnecessary OOM messages 2014-05-09 10:55:31 +02:00
gpio-tps65912.c gpio/pinctrl: make gpio_chip members typed boolean 2013-12-04 14:42:46 +01:00
gpio-ts5500.c
gpio-twl4030.c gpio: twl4030: Remove redundant assignment 2014-03-27 10:06:34 +01:00
gpio-twl6040.c gpio/pinctrl: make gpio_chip members typed boolean 2013-12-04 14:42:46 +01:00
gpio-tz1090-pdc.c
gpio-tz1090.c gpio-tz1090: Replace commas with semi-colons 2014-03-07 11:57:00 +08:00
gpio-ucb1400.c Linux 3.13-rc3 2013-12-09 14:04:37 +01:00
gpio-viperboard.c gpio/pinctrl: make gpio_chip members typed boolean 2013-12-04 14:42:46 +01:00
gpio-vr41xx.c MIPS: VR41xx: Mark GPIO lines used for IRQ 2014-03-31 18:17:12 +02:00
gpio-vx855.c gpio/pinctrl: make gpio_chip members typed boolean 2013-12-04 14:42:46 +01:00
gpio-wm831x.c gpio/pinctrl: make gpio_chip members typed boolean 2013-12-04 14:42:46 +01:00
gpio-wm8350.c gpio/pinctrl: make gpio_chip members typed boolean 2013-12-04 14:42:46 +01:00
gpio-wm8994.c gpio/pinctrl: make gpio_chip members typed boolean 2013-12-04 14:42:46 +01:00
gpio-xilinx.c gpio: xilinx: Make of_device_id array const 2014-05-09 11:03:03 +02:00
gpio-xtensa.c gpio: xtensa: fix build when XCHAL_HAVE_CP is 0 2014-02-03 09:11:45 +01:00
gpio-zevio.c gpio: zevio: Make of_device_id array const 2014-05-09 11:04:08 +02:00
gpiolib-acpi.c gpio / ACPI: use *_cansleep version of gpiod_get/set APIs 2014-05-23 14:36:24 +02:00
gpiolib-of.c gpio: make of_get_named_gpiod_flags() private 2014-05-21 11:14:46 +02:00
gpiolib.c gpio: Add helpers for optional GPIOs 2014-05-09 13:48:30 +02:00
gpiolib.h gpio: make of_get_named_gpiod_flags() private 2014-05-21 11:14:46 +02:00
Kconfig gpio: Add run-time dependencies to R-Car driver 2014-05-27 15:44:10 +02:00
Makefile gpio: omap: add a GPIO_OMAP option instead of using ARCH_OMAP 2014-04-28 12:35:08 -07:00