[PATCH] [ACPI] fan_core: Add error handling in fan_set_state_acpi4

From: Haoran Liu
Date: Wed Nov 29 2023 - 02:15:41 EST


This patch introduces error handling for the acpi_driver_data
call within the fan_set_state_acpi4 function in
drivers/acpi/fan_core.c. Previously, the function did not account
for potential null returns from acpi_driver_data, which could
lead to instability if encountered.

Signed-off-by: Haoran Liu <liuhaoran14@xxxxxxx>
---
drivers/acpi/fan_core.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/drivers/acpi/fan_core.c b/drivers/acpi/fan_core.c
index 9dccbae9e8ea..f2553a47a705 100644
--- a/drivers/acpi/fan_core.c
+++ b/drivers/acpi/fan_core.c
@@ -154,6 +154,12 @@ static int fan_set_state_acpi4(struct acpi_device *device, unsigned long state)
u64 value = state;
int max_state;

+ if (!fan) {
+ pr_err("%s: No ACPI fan data "
+ "associated with the device\n", __func__);
+ return -ENODEV;
+ }
+
if (fan->fif.fine_grain_ctrl)
max_state = 100 / fan->fif.step_size;
else
--
2.17.1