Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a5abff01 authored by Maulik Shah's avatar Maulik Shah Committed by Gerrit - the friendly Code Review server
Browse files

drivers: soc: qcom: mpm: Do not resend GPIO interrupts



Interrupts configured as wakeup capable will be pending at both MPM
and TLMM during system level LPMs. Since GPIO summary interrupt is
level triggered, do not resend GPIO interrupts when exiting from system
level LPMs.

Change-Id: I63340396cf2764835d628906aa8e7c1278c88cec
Signed-off-by: default avatarMaulik Shah <mkshah@codeaurora.org>
parent 111bb652
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
/* Copyright (c) 2010-2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2010-2016, 2018 The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -608,8 +608,13 @@ void msm_mpm_exit_sleep(bool from_idle)
			unsigned int apps_irq = msm_mpm_get_irq_m2a(mpm_irq);
			struct irq_desc *desc = apps_irq ?
				irq_to_desc(apps_irq) : NULL;
			struct irq_chip *chip = NULL;

			if (desc && !irqd_is_level_type(&desc->irq_data)) {
			if (desc)
				chip = desc->irq_data.chip;

			if (desc && !irqd_is_level_type(&desc->irq_data) &&
				(!(chip && !strcmp(chip->name, "msmgpio")))) {
				irq_set_pending(apps_irq);
				if (from_idle) {
					raw_spin_lock(&desc->lock);