[PATCH 1/3] drm/xe: use devm_add_action_or_reset() helper
HeLuang
helugang at uniontech.com
Wed Sep 11 09:37:07 UTC 2024
在 2024/9/11 02:57, Rodrigo Vivi 写道:
> On Sat, Sep 07, 2024 at 02:54:39PM +0800, He Lugang wrote:
>> Use devm_add_action_or_reset() to release resources in case of failure,
>> because the cleanup function will be automatically called.
>>
>> Signed-off-by: He Lugang <helugang at uniontech.com>
>> ---
>> drivers/gpu/drm/xe/xe_gt_freq.c | 2 +-
>> drivers/gpu/drm/xe/xe_gt_sysfs.c | 2 +-
>> 2 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_gt_freq.c b/drivers/gpu/drm/xe/xe_gt_freq.c
>> index 68a5778b4319..71bcd60d0866 100644
>> --- a/drivers/gpu/drm/xe/xe_gt_freq.c
>> +++ b/drivers/gpu/drm/xe/xe_gt_freq.c
>> @@ -237,7 +237,7 @@ int xe_gt_freq_init(struct xe_gt *gt)
>> if (!gt->freq)
>> return -ENOMEM;
>>
>> - err = devm_add_action(xe->drm.dev, freq_fini, gt->freq);
>> + err = devm_add_action_or_reset(xe->drm.dev, freq_fini, gt->freq);
>
> you need to move this to a lower point then...
> otherwise fini function will try to remove the sysfs files that
> hadn't been created.
OK,thanks for your reply!
>
>> if (err)
>> return err;
>>
>> diff --git a/drivers/gpu/drm/xe/xe_gt_sysfs.c b/drivers/gpu/drm/xe/xe_gt_sysfs.c
>> index a05c3699e8b9..ec2b8246204b 100644
>> --- a/drivers/gpu/drm/xe/xe_gt_sysfs.c
>> +++ b/drivers/gpu/drm/xe/xe_gt_sysfs.c
>> @@ -51,5 +51,5 @@ int xe_gt_sysfs_init(struct xe_gt *gt)
>>
>> gt->sysfs = &kg->base;
>>
>> - return devm_add_action(xe->drm.dev, gt_sysfs_fini, gt);
>> + return devm_add_action_or_reset(xe->drm.dev, gt_sysfs_fini, gt);
>
> this one looks right indeed.
>
>> }
>> --
>> 2.45.2
>>
>
More information about the dri-devel
mailing list