From 338086ed12b56a42c49d294d960ea21a283ad3da Mon Sep 17 00:00:00 2001 From: Rama Krishna Phani A Date: Mon, 25 Jan 2016 16:12:42 +0530 Subject: [PATCH] thermal: tsens: Update condition in critical_irq Device crash is observed when the critical_irq is triggered because of accessing uninitialized completion variable. Update condition in critical_irq such that the completion variable will be accessed only when initialized. Change-Id: I0cba089882024bbe36ac4798866af4e33ee02fa2 Signed-off-by: Rama Krishna Phani A --- drivers/thermal/msm-tsens.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/thermal/msm-tsens.c b/drivers/thermal/msm-tsens.c index 7a60a5aeabee..ee73c047a3ba 100644 --- a/drivers/thermal/msm-tsens.c +++ b/drivers/thermal/msm-tsens.c @@ -2447,8 +2447,8 @@ static irqreturn_t tsens_tm_critical_irq_thread(int irq, void *data) tm->crit_timestamp_last_interrupt_handled.time_stmp[idx%10] = sched_clock(); tm->qtimer_val_last_detection_interrupt = arch_counter_get_cntpct(); - - complete(&tm->tsens_rslt_completion); + if (tsens_poll_check) + complete(&tm->tsens_rslt_completion); /* Mask critical interrupt */ mb();