[PATCH] ACPI: fan: fix warning with CONFIG_DEBUG_LOCK_ALLOC

From: Pierre-Louis Bossart
Date: Fri Dec 04 2020 - 13:28:09 EST


On a TigerLake device with CONFIG_DEBUG_LOCK_ALLOC the following
warning is thrown:

[ 13.784413] BUG: key ffff88810ea5a080 has not been registered!
[ 13.784722] DEBUG_LOCKS_WARN_ON(1)
[ 13.784737] WARNING: CPU: 2 PID: 1 at kernel/locking/lockdep.c:4623
lockdep_init_map_waits+0x25e/0x310
[ 13.787831] Call Trace:
[ 13.787902] __kernfs_create_file+0xa5/0x180
[ 13.788016] sysfs_add_file_mode_ns+0x120/0x270
[ 13.788138] sysfs_create_file_ns+0xcd/0x120
[ 13.788256] ? sysfs_add_file_mode_ns+0x270/0x270
[ 13.788381] ? fan_get_max_state+0x70/0x70
[ 13.788491] ? sort_r+0x1a5/0x200
[ 13.788579] acpi_fan_probe+0x63b/0x7a0

Dynamically-allocated attributes need to be initialized to make
lockdep happy, see include/linux/sysfs.h

Fixes: d19e470b6605c ('ACPI: fan: Expose fan performance state information')
Cc: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx>
Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
---
drivers/acpi/fan.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/acpi/fan.c b/drivers/acpi/fan.c
index 66c3983f0ccc..9cab806298ff 100644
--- a/drivers/acpi/fan.c
+++ b/drivers/acpi/fan.c
@@ -357,6 +357,7 @@ static int acpi_fan_get_fps(struct acpi_device *device)
fps->dev_attr.store = NULL;
fps->dev_attr.attr.name = fps->name;
fps->dev_attr.attr.mode = 0444;
+ sysfs_attr_init(&fps->dev_attr.attr);
status = sysfs_create_file(&device->dev.kobj, &fps->dev_attr.attr);
if (status) {
int j;
--
2.25.1