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

Commit 34b2a329 authored by Skylar Chang's avatar Skylar Chang
Browse files

msm: ipa3: do not clear irq before register



Avoid clearing pending interrupts on IPA driver before registering.
This may lead to missing an interrupt fired before IPA was
registered to it.

Change-Id: I69a0374eb55d4fcc79d87a1acb7aa73ae6807439
CRs-Fixed: 965412
Acked-by: default avatarAdy Abraham <adya@qti.qualcomm.com>
Signed-off-by: default avatarSkylar Chang <chiaweic@codeaurora.org>
parent 184e2ced
Loading
Loading
Loading
Loading
+1 −11
Original line number Diff line number Diff line
/* Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
/* Copyright (c) 2014-2016, 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
@@ -439,7 +439,6 @@ int ipa3_remove_interrupt_handler(enum ipa_irq_type interrupt)
int ipa3_interrupts_init(u32 ipa_irq, u32 ee, struct device *ipa_dev)
{
	int idx;
	u32 reg = 0xFFFFFFFF;
	int res = 0;

	ipa_ee = ee;
@@ -457,15 +456,6 @@ int ipa3_interrupts_init(u32 ipa_irq, u32 ee, struct device *ipa_dev)
		return -ENOMEM;
	}

	/* Clearing interrupts status */
	ipa3_uc_rg10_write_reg(ipa3_ctx->mmio,
		IPA_IRQ_CLR_EE_n_ADDR(ipa_ee), reg);

	/* Clearing L2 interrupts status */
	if (ipa3_ctx->ipa_hw_type == IPA_HW_v3_1)
		ipa_write_reg(ipa3_ctx->mmio,
			IPA_SUSPEND_IRQ_CLR_EE_n_ADDR(ipa_ee), reg);

	res = request_irq(ipa_irq, (irq_handler_t) ipa3_isr,
				IRQF_TRIGGER_RISING, "ipa", ipa_dev);
	if (res) {