diff options
author | Dmitry Torokhov <dtor_core@ameritech.net> | 2005-11-12 00:55:15 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-12 14:42:32 -0500 |
commit | 4f005551a8fac21b6fec8d10d57cd12d373d79e1 (patch) | |
tree | da64987344a6d30a80a3bb8fe559ba42951d43b4 /drivers/char/i8k.c | |
parent | 44e6f84e3597905816a0440e7218d2ed072120da (diff) |
[PATCH] I8K: fix /proc reporting of blank service tags
Make /proc/i8k display '?' when service tag is blank in BIOS.
This fixes segfault in i8k gkrellm plugin.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/char/i8k.c')
-rw-r--r-- | drivers/char/i8k.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/char/i8k.c b/drivers/char/i8k.c index 6c4b3f986d0c..f3c3aaf4560e 100644 --- a/drivers/char/i8k.c +++ b/drivers/char/i8k.c | |||
@@ -99,7 +99,9 @@ struct smm_regs { | |||
99 | 99 | ||
100 | static inline char *i8k_get_dmi_data(int field) | 100 | static inline char *i8k_get_dmi_data(int field) |
101 | { | 101 | { |
102 | return dmi_get_system_info(field) ? : "N/A"; | 102 | char *dmi_data = dmi_get_system_info(field); |
103 | |||
104 | return dmi_data && *dmi_data ? dmi_data : "?"; | ||
103 | } | 105 | } |
104 | 106 | ||
105 | /* | 107 | /* |
@@ -396,7 +398,7 @@ static int i8k_proc_show(struct seq_file *seq, void *offset) | |||
396 | return seq_printf(seq, "%s %s %s %d %d %d %d %d %d %d\n", | 398 | return seq_printf(seq, "%s %s %s %d %d %d %d %d %d %d\n", |
397 | I8K_PROC_FMT, | 399 | I8K_PROC_FMT, |
398 | bios_version, | 400 | bios_version, |
399 | dmi_get_system_info(DMI_PRODUCT_SERIAL) ? : "N/A", | 401 | i8k_get_dmi_data(DMI_PRODUCT_SERIAL), |
400 | cpu_temp, | 402 | cpu_temp, |
401 | left_fan, right_fan, left_speed, right_speed, | 403 | left_fan, right_fan, left_speed, right_speed, |
402 | ac_power, fn_key); | 404 | ac_power, fn_key); |