diff options
| author | Mark Brown <broonie@kernel.org> | 2014-10-20 17:55:07 +0100 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2014-10-20 18:27:32 +0100 |
| commit | b7a40242c82cd73cfcea305f23e67d068dd8401a (patch) | |
| tree | 251b49d19cd7c371847ae1f951e1b537ca0e1c15 /drivers/gpio/gpiolib-acpi.c | |
| parent | d26833bfce5e56017bea9f1f50838f20e18e7b7e (diff) | |
| parent | 9c6de47d53a3ce8df1642ae67823688eb98a190a (diff) | |
Merge branch 'fix/dw' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi into spi-dw
Conflicts:
drivers/spi/spi-dw-mid.c
Diffstat (limited to 'drivers/gpio/gpiolib-acpi.c')
| -rw-r--r-- | drivers/gpio/gpiolib-acpi.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c index d62eaaa75397..687476fb39e3 100644 --- a/drivers/gpio/gpiolib-acpi.c +++ b/drivers/gpio/gpiolib-acpi.c @@ -377,8 +377,10 @@ acpi_gpio_adr_space_handler(u32 function, acpi_physical_address address, struct gpio_chip *chip = achip->chip; struct acpi_resource_gpio *agpio; struct acpi_resource *ares; + int pin_index = (int)address; acpi_status status; bool pull_up; + int length; int i; status = acpi_buffer_to_resource(achip->conn_info.connection, @@ -400,7 +402,8 @@ acpi_gpio_adr_space_handler(u32 function, acpi_physical_address address, return AE_BAD_PARAMETER; } - for (i = 0; i < agpio->pin_table_length; i++) { + length = min(agpio->pin_table_length, (u16)(pin_index + bits)); + for (i = pin_index; i < length; ++i) { unsigned pin = agpio->pin_table[i]; struct acpi_gpio_connection *conn; struct gpio_desc *desc; |
