summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 {