ASoC: Prevent system suspend while debouncing wakeup capable GPIO jacks
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / sound / soc / soc-jack.c
index 4d95abb40288d3b89e24c5131243ca89c311bebf..619061d689a319ce1364101cfed72c4438967052 100644 (file)
@@ -209,6 +209,10 @@ static void snd_soc_jack_gpio_detect(struct snd_soc_jack_gpio *gpio)
 static irqreturn_t gpio_handler(int irq, void *data)
 {
        struct snd_soc_jack_gpio *gpio = data;
+       struct device *dev = gpio->jack->codec->card->dev;
+
+       if (device_may_wakeup(dev))
+               pm_wakeup_event(dev, gpio->debounce_time + 50);
 
        schedule_delayed_work(&gpio->work,
                              msecs_to_jiffies(gpio->debounce_time));