diff options
author | Chaitanya Bandi <bandik@nvidia.com> | 2011-11-03 16:13:18 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:49:56 -0800 |
commit | 360c820c784b113f0f85ea3e632e9e6ecf2a94a8 (patch) | |
tree | 0e66da3e25c5a47c18eead3e3260082e90ecaff3 /drivers/gpio | |
parent | 34a51c36a3907ba39371d866b73494e22df6709b (diff) |
ARM: tegra: gpio: Add range check for gpio enable/disable
Added the range check into tegra_gpio_enable and tegra_gpio_disable
Bug 897387
Reviewed-on: http://git-master/r/62641
(cherry picked from commit 091b3906b2dd64cd58221e7e61a24a57dabad16c)
Change-Id: I9be8129397a1dccbea4a04f6b6ed7d4529bf45c3
Reviewed-on: http://git-master/r/63174
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
Rebase-Id: Rfaf0efdbc60208a56e4e4f073e3661ad1511694c
Diffstat (limited to 'drivers/gpio')
-rw-r--r-- | drivers/gpio/gpio-tegra.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpio/gpio-tegra.c b/drivers/gpio/gpio-tegra.c index 0ace5919becc..b75ce0295ef6 100644 --- a/drivers/gpio/gpio-tegra.c +++ b/drivers/gpio/gpio-tegra.c @@ -128,16 +128,28 @@ static void tegra_gpio_mask_write(u32 reg, int gpio, int value) void tegra_gpio_enable(int gpio) { + if (gpio >= TEGRA_NR_GPIOS) { + pr_warn("%s : Invalid gpio ID - %d\n", __func__, gpio); + return; + } tegra_gpio_mask_write(GPIO_MSK_CNF(gpio), gpio, 1); } void tegra_gpio_disable(int gpio) { + if (gpio >= TEGRA_NR_GPIOS) { + pr_warn("%s : Invalid gpio ID - %d\n", __func__, gpio); + return; + } tegra_gpio_mask_write(GPIO_MSK_CNF(gpio), gpio, 0); } void tegra_gpio_init_configure(unsigned gpio, bool is_input, int value) { + if (gpio >= TEGRA_NR_GPIOS) { + pr_warn("%s : Invalid gpio ID - %d\n", __func__, gpio); + return; + } if (is_input) { tegra_gpio_mask_write(GPIO_MSK_OE(gpio), gpio, 0); } else { |