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

Commit 401ad34c authored by Puja Gupta's avatar Puja Gupta Committed by Gerrit - the friendly Code Review server
Browse files

soc: qcom: remove warning msg in msm_l2_erp_irq()



smp_call_function_many() used in msm_l2_erp_irq() gives
a warning when called with interrupt disabled. Instead use
smp_call_function_single_async().

Change-Id: I03cdc0cc07281460a33abe9b09ae0f06590029aa
Signed-off-by: default avatarPuja Gupta <pujag@codeaurora.org>
parent 495996d2
Loading
Loading
Loading
Loading
+10 −2
Original line number Original line Diff line number Diff line
@@ -23,6 +23,7 @@
#include <linux/workqueue.h>
#include <linux/workqueue.h>
#include <linux/of.h>
#include <linux/of.h>
#include <linux/cpu_pm.h>
#include <linux/cpu_pm.h>
#include <linux/smp.h>


#include <soc/qcom/kryo-l2-accessors.h>
#include <soc/qcom/kryo-l2-accessors.h>


@@ -155,6 +156,7 @@ struct msm_l1_err_stats {
};
};


static DEFINE_PER_CPU(struct msm_l1_err_stats, msm_l1_erp_stats);
static DEFINE_PER_CPU(struct msm_l1_err_stats, msm_l1_erp_stats);
static DEFINE_PER_CPU(struct call_single_data, handler_csd);


#define erp_mrs(reg) ({							\
#define erp_mrs(reg) ({							\
	u64 __val;							\
	u64 __val;							\
@@ -289,8 +291,14 @@ static void msm_l2_erp_local_handler(void *force)


static irqreturn_t msm_l2_erp_irq(int irq, void *dev_id)
static irqreturn_t msm_l2_erp_irq(int irq, void *dev_id)
{
{
	pr_alert("L2 cache error detected\n");
	int cpu;
	on_each_cpu(msm_l2_erp_local_handler, NULL, 1);
	struct call_single_data *csd;

	for_each_online_cpu(cpu) {
		csd = &per_cpu(handler_csd, cpu);
		csd->func = msm_l2_erp_local_handler;
		smp_call_function_single_async(cpu, csd);
	}


	return IRQ_HANDLED;
	return IRQ_HANDLED;
}
}