[PATCH] drivers/perf: Fix ali_drw_pmu driver interrupt status clearing

Jing Zhang renyu.zj at linux.alibaba.com
Tue Aug 20 19:20:55 PDT 2024



在 2024/8/20 下午5:18, Mark Rutland 写道:
> On Mon, Aug 19, 2024 at 07:48:30PM +0800, Jing Zhang wrote:
>> The alibaba_uncore_pmu driver forgot to clear all interrupt status
>> in the interrupt processing function. After the PMU counter overflow
>> interrupt occurred, an interrupt storm occurred, causing the system
>> to hang.
>>
>> Therefore, clear the correct interrupt status in the interrupt handling
>> function to fix it.
>>
>> Signed-off-by: Jing Zhang <renyu.zj at linux.alibaba.com>
> 
> Presumably this should have
> 
> Fixes: cf7b61073e4526ca ("drivers/perf: add DDR Sub-System Driveway PMU driver for Yitian 710 SoC")
> 
> ... right?

You are right, I forgot it.

> 
> With that:
> 
> Acked-by: Mark Rutland <mark.rutland at arm.com>
> 
> Mark.
> 
>> ---
>>  drivers/perf/alibaba_uncore_drw_pmu.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/perf/alibaba_uncore_drw_pmu.c b/drivers/perf/alibaba_uncore_drw_pmu.c
>> index 38a2947..c6ff1bc 100644
>> --- a/drivers/perf/alibaba_uncore_drw_pmu.c
>> +++ b/drivers/perf/alibaba_uncore_drw_pmu.c
>> @@ -400,7 +400,7 @@ static irqreturn_t ali_drw_pmu_isr(int irq_num, void *data)
>>  			}
>>  
>>  			/* clear common counter intr status */
>> -			clr_status = FIELD_PREP(ALI_DRW_PMCOM_CNT_OV_INTR_MASK, 1);
>> +			clr_status = FIELD_PREP(ALI_DRW_PMCOM_CNT_OV_INTR_MASK, status);
>>  			writel(clr_status,
>>  			       drw_pmu->cfg_base + ALI_DRW_PMU_OV_INTR_CLR);
>>  		}
>> -- 
>> 1.8.3.1
>>



More information about the linux-arm-kernel mailing list