The use of devm_*() functions works properly for when the device structure itself is dynamic, but the hsmp driver is attempting to have a local, static, struct device and then calls devm_() functions attaching memory to the device that will never be freed. The logic of having a static struct device is almost never a wise choice, but for now, just remove the use of devm_device_add_groups() in this driver as it obviously is not needed. Cc: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@xxxxxxx> Cc: Carlos Bilbao <carlos.bilbao@xxxxxxx> Cc: Hans de Goede <hdegoede@xxxxxxxxxx> Cc: "Ilpo Järvinen" <ilpo.jarvinen@xxxxxxxxxxxxxxx> Cc: platform-driver-x86@xxxxxxxxxxxxxxx Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/platform/x86/amd/hsmp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/platform/x86/amd/hsmp.c b/drivers/platform/x86/amd/hsmp.c index b55d80e29139..49ef0b1d6df0 100644 --- a/drivers/platform/x86/amd/hsmp.c +++ b/drivers/platform/x86/amd/hsmp.c @@ -471,7 +471,7 @@ static int hsmp_create_sysfs_interface(void) if (ret) return ret; } - return devm_device_add_groups(plat_dev.dev, hsmp_attr_grps); + return device_add_groups(plat_dev.dev, hsmp_attr_grps); } static int hsmp_cache_proto_ver(void) -- 2.43.0