summaryrefslogtreecommitdiff
path: root/drivers/gpio
diff options
context:
space:
mode:
authorChaitanya Bandi <bandik@nvidia.com>2011-11-03 16:13:18 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:49:56 -0800
commit360c820c784b113f0f85ea3e632e9e6ecf2a94a8 (patch)
tree0e66da3e25c5a47c18eead3e3260082e90ecaff3 /drivers/gpio
parent34a51c36a3907ba39371d866b73494e22df6709b (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.c12
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 {