diff --git a/drivers/gpio/gpio-msm-common.c b/drivers/gpio/gpio-msm-common.c index 9a06da220c1..41301e3cbe2 100644 --- a/drivers/gpio/gpio-msm-common.c +++ b/drivers/gpio/gpio-msm-common.c @@ -343,8 +343,10 @@ static int msm_gpio_irq_set_type(struct irq_data *d, unsigned int flow_type) mb(); spin_unlock_irqrestore(&tlmm_lock, irq_flags); - if (msm_gpio_irq_extn.irq_set_type) - msm_gpio_irq_extn.irq_set_type(d, flow_type); + if ((flow_type & IRQ_TYPE_EDGE_BOTH) != IRQ_TYPE_EDGE_BOTH) { + if (msm_gpio_irq_extn.irq_set_type) + msm_gpio_irq_extn.irq_set_type(d, flow_type); + } return 0; }