Skip to content

Commit 6a02124

Browse files
Lin Yujundjbw
authored andcommitted
ACPI: HMAT: Release platform device in case of platform_device_add_data() fails
The platform device is not released when platform_device_add_data() fails. And platform_device_put() perfom one more pointer check than put_device() to check for errors in the 'pdev' pointer. Use platform_device_put() to release platform device in platform_device_add()/platform_device_add_data()/ platform_device_add_resources() error case. Fixes: c01044c ("ACPI: HMAT: refactor hmat_register_target_device to hmem_register_device") Signed-off-by: Lin Yujun <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Dan Williams <[email protected]>
1 parent 0f70203 commit 6a02124

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/dax/hmem/device.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ void hmem_register_device(int target_nid, struct resource *r)
4747
rc = platform_device_add_data(pdev, &info, sizeof(info));
4848
if (rc < 0) {
4949
pr_err("hmem memregion_info allocation failure for %pr\n", &res);
50-
goto out_pdev;
50+
goto out_resource;
5151
}
5252

5353
rc = platform_device_add_resources(pdev, &res, 1);
@@ -65,7 +65,7 @@ void hmem_register_device(int target_nid, struct resource *r)
6565
return;
6666

6767
out_resource:
68-
put_device(&pdev->dev);
68+
platform_device_put(pdev);
6969
out_pdev:
7070
memregion_free(id);
7171
}

0 commit comments

Comments
 (0)