diff mbox series

ACPI: fan: Initialize performance state sysfs attribute

Message ID 20201110235201.76981-1-linux@roeck-us.net
State Accepted
Commit 7dc7a8b04f3da8aa3c3be514e155e2fa094e976f
Headers show
Series ACPI: fan: Initialize performance state sysfs attribute | expand

Commit Message

Guenter Roeck Nov. 10, 2020, 11:52 p.m. UTC
The following warning is reported if lock debugging is enabled.

DEBUG_LOCKS_WARN_ON(1)
WARNING: CPU: 1 PID: 1 at kernel/locking/lockdep.c:4617 lockdep_init_map_waits+0x141/0x222
...
Call Trace:
 __kernfs_create_file+0x7a/0xd8
 sysfs_add_file_mode_ns+0x135/0x189
 sysfs_create_file_ns+0x70/0xa0
 acpi_fan_probe+0x547/0x621
 platform_drv_probe+0x67/0x8b
 ...

Dynamically allocated sysfs attributes need to be initialized to avoid
the warning.

Fixes: d19e470b6605 ("ACPI: fan: Expose fan performance state information")
Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
---
 drivers/acpi/fan.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Rafael J. Wysocki Nov. 16, 2020, 2:19 p.m. UTC | #1
On Wed, Nov 11, 2020 at 12:52 AM Guenter Roeck <linux@roeck-us.net> wrote:
>

> The following warning is reported if lock debugging is enabled.

>

> DEBUG_LOCKS_WARN_ON(1)

> WARNING: CPU: 1 PID: 1 at kernel/locking/lockdep.c:4617 lockdep_init_map_waits+0x141/0x222

> ...

> Call Trace:

>  __kernfs_create_file+0x7a/0xd8

>  sysfs_add_file_mode_ns+0x135/0x189

>  sysfs_create_file_ns+0x70/0xa0

>  acpi_fan_probe+0x547/0x621

>  platform_drv_probe+0x67/0x8b

>  ...

>

> Dynamically allocated sysfs attributes need to be initialized to avoid

> the warning.

>

> Fixes: d19e470b6605 ("ACPI: fan: Expose fan performance state information")

> Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>

> Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

> Signed-off-by: Guenter Roeck <linux@roeck-us.net>

> ---

>  drivers/acpi/fan.c | 1 +

>  1 file changed, 1 insertion(+)

>

> diff --git a/drivers/acpi/fan.c b/drivers/acpi/fan.c

> index 62873388b24f..9cbe58e394d0 100644

> --- a/drivers/acpi/fan.c

> +++ b/drivers/acpi/fan.c

> @@ -351,6 +351,7 @@ static int acpi_fan_get_fps(struct acpi_device *device)

>                 struct acpi_fan_fps *fps = &fan->fps[i];

>

>                 snprintf(fps->name, ACPI_FPS_NAME_LEN, "state%d", i);

> +               sysfs_attr_init(&fps->dev_attr.attr);

>                 fps->dev_attr.show = show_state;

>                 fps->dev_attr.store = NULL;

>                 fps->dev_attr.attr.name = fps->name;

> --


Applied as 5.11 material, thanks!
diff mbox series

Patch

diff --git a/drivers/acpi/fan.c b/drivers/acpi/fan.c
index 62873388b24f..9cbe58e394d0 100644
--- a/drivers/acpi/fan.c
+++ b/drivers/acpi/fan.c
@@ -351,6 +351,7 @@  static int acpi_fan_get_fps(struct acpi_device *device)
 		struct acpi_fan_fps *fps = &fan->fps[i];
 
 		snprintf(fps->name, ACPI_FPS_NAME_LEN, "state%d", i);
+		sysfs_attr_init(&fps->dev_attr.attr);
 		fps->dev_attr.show = show_state;
 		fps->dev_attr.store = NULL;
 		fps->dev_attr.attr.name = fps->name;