[PATCH] firmware/arm_sdei: Fix invalid argument to unregister private events.
James Morse
james.morse at arm.com
Mon Jan 15 09:24:58 PST 2024
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 at arm.com>
Thanks,
James
More information about the linux-arm-kernel
mailing list