[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <29a13c04-f669-a6c3-4693-af7e44469ad2@arm.com>
Date: Mon, 15 Jan 2024 17:24:58 +0000
From: James Morse <james.morse@....com>
To: Pierre Gondois <pierre.gondois@....com>, Levi Yun <ppbuk5246@...il.com>
Cc: linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] firmware/arm_sdei: Fix invalid argument to unregister
private events.
Hi Levi, Pierre,
On 15/01/2024 13:01, Pierre Gondois wrote:
> On 1/10/24 10:01, Levi Yun wrote:
>> To unregister private events in device freeze, it should call
>> cpuhp_remove_state with sdei_hp_state not sdei_entry_point.
>> otherwise, it seems to fail on cpuhp_cb_check.
Oops. Well caught!
> I think you can also add:
> Fixes: d2c48b2387eb ("firmware: arm_sdei: Fix sleep from invalid context BUG")
>> diff --git a/drivers/firmware/arm_sdei.c b/drivers/firmware/arm_sdei.c
>> index 285fe7ad490d..3e8051fe8296 100644
>> --- a/drivers/firmware/arm_sdei.c
>> +++ b/drivers/firmware/arm_sdei.c
>> @@ -763,7 +763,7 @@ static int sdei_device_freeze(struct device *dev)
>> int err;
>> /* unregister private events */
>> - cpuhp_remove_state(sdei_entry_point);
>> + cpuhp_remove_state(sdei_hp_state);
>
> Maybe it would also be worth resetting 'sdei_hp_state':
> sdei_hp_state = 0;
The next call should always be 'thaw', which doesn't check this, but it's good to cleanup
stale values.
Regardless:
Reviewed-by: James Morse <james.morse@....com>
Thanks,
James
Powered by blists - more mailing lists