From 1c63c2de36baacf5efe3dace33b3d5bd6175d45d Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 15 Dec 2021 14:57:40 +0100 Subject: [PATCH] 4.19-stable patches added patches: hwmon-dell-smm-fix-warning-on-proc-i8k-creation-error.patch --- ...x-warning-on-proc-i8k-creation-error.patch | 53 +++++++++++++++++++ queue-4.19/series | 1 + 2 files changed, 54 insertions(+) create mode 100644 queue-4.19/hwmon-dell-smm-fix-warning-on-proc-i8k-creation-error.patch diff --git a/queue-4.19/hwmon-dell-smm-fix-warning-on-proc-i8k-creation-error.patch b/queue-4.19/hwmon-dell-smm-fix-warning-on-proc-i8k-creation-error.patch new file mode 100644 index 00000000000..bfa540d48b6 --- /dev/null +++ b/queue-4.19/hwmon-dell-smm-fix-warning-on-proc-i8k-creation-error.patch @@ -0,0 +1,53 @@ +From dbd3e6eaf3d813939b28e8a66e29d81cdc836445 Mon Sep 17 00:00:00 2001 +From: Armin Wolf +Date: Fri, 12 Nov 2021 18:14:40 +0100 +Subject: hwmon: (dell-smm) Fix warning on /proc/i8k creation error +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Armin Wolf + +commit dbd3e6eaf3d813939b28e8a66e29d81cdc836445 upstream. + +The removal function is called regardless of whether +/proc/i8k was created successfully or not, the later +causing a WARN() on module removal. +Fix that by only registering the removal function +if /proc/i8k was created successfully. + +Tested on a Inspiron 3505. + +Fixes: 039ae58503f3 ("hwmon: Allow to compile dell-smm-hwmon driver without /proc/i8k") +Signed-off-by: Armin Wolf +Acked-by: Pali Rohár +Link: https://lore.kernel.org/r/20211112171440.59006-1-W_Armin@gmx.de +Signed-off-by: Guenter Roeck +Signed-off-by: Greg Kroah-Hartman +--- + drivers/hwmon/dell-smm-hwmon.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +--- a/drivers/hwmon/dell-smm-hwmon.c ++++ b/drivers/hwmon/dell-smm-hwmon.c +@@ -591,15 +591,18 @@ static const struct file_operations i8k_ + .unlocked_ioctl = i8k_ioctl, + }; + ++static struct proc_dir_entry *entry; ++ + static void __init i8k_init_procfs(void) + { + /* Register the proc entry */ +- proc_create("i8k", 0, NULL, &i8k_fops); ++ entry = proc_create("i8k", 0, NULL, &i8k_fops); + } + + static void __exit i8k_exit_procfs(void) + { +- remove_proc_entry("i8k", NULL); ++ if (entry) ++ remove_proc_entry("i8k", NULL); + } + + #else diff --git a/queue-4.19/series b/queue-4.19/series index f700c9efc0d..51a2b6f559d 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -6,3 +6,4 @@ parisc-agp-annotate-parisc-agp-init-functions-with-_.patch i2c-rk3x-handle-a-spurious-start-completion-interrup.patch net-netlink-af_netlink-prevent-empty-skb-by-adding-a.patch tracing-fix-a-kmemleak-false-positive-in-tracing_map.patch +hwmon-dell-smm-fix-warning-on-proc-i8k-creation-error.patch -- 2.39.5