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> --- v2: rebased against platform/for-next 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 1927be901108..d84ea66eecc6 100644 --- a/drivers/platform/x86/amd/hsmp.c +++ b/drivers/platform/x86/amd/hsmp.c @@ -693,7 +693,7 @@ static int hsmp_create_non_acpi_sysfs_if(struct device *dev) hsmp_create_attr_list(attr_grp, dev, i); } - return devm_device_add_groups(dev, hsmp_attr_grps); + return device_add_groups(dev, hsmp_attr_grps); } static int hsmp_create_acpi_sysfs_if(struct device *dev) -- 2.43.0