From 5ef460df5caf04a5dd3a6d4f65ae714bda2c6c2a Mon Sep 17 00:00:00 2001 From: "Mark D. Studebaker" Date: Mon, 15 Jul 2002 01:42:17 +0000 Subject: [PATCH] fix access mode checking reported by Jean Delvare git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1456 7894878c-1315-0410-8ee3-d5d059ff63e0 --- CHANGES | 5 +++-- lib/access.c | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CHANGES b/CHANGES index 3c23ea40..1332a216 100644 --- a/CHANGES +++ b/CHANGES @@ -24,7 +24,8 @@ ask CVS about it: File sensors.conf.eg: Add vt1211, smsc47m1 Library: Add multiple VRM version support for adm1025, w83781d; fix 'flex scanner jammed' on some systems; - add vt1211, smsc47m1 + add vt1211, smsc47m1, lm92; + fix access mode checking Makefiles: For 2.4+ kernels, modules now install in kernel/drivers/[i2c,sensors] , not misc/ , and 'make install' removes old versions in misc/ . @@ -58,7 +59,7 @@ ask CVS about it: not compiled by default Program sensors: Recognize DDR SDRAM; add adm1025 VID; add -A (don't display algo. and adap.) option; - add vt1211, smsc47m1 + add vt1211, smsc47m1, lm92 Program sensors-detect: Add VT8231, VT8233A, several S3 devices; add 82801DB, LM85; fix perl warnings; generate /etc/sysconfig/lm_sensors for diff --git a/lib/access.c b/lib/access.c index 143b6b67..a180e8cd 100644 --- a/lib/access.c +++ b/lib/access.c @@ -222,7 +222,7 @@ int sensors_get_feature(sensors_chip_name name, int feature, double *result) sensors_lookup_feature_nr(name.prefix, main_feature->compute_mapping))) return -SENSORS_ERR_NO_ENTRY; - if (! (main_feature->mode && SENSORS_MODE_R)) + if (! (main_feature->mode & SENSORS_MODE_R)) return -SENSORS_ERR_ACCESS; for (chip = NULL; !expr && (chip = sensors_for_all_config_chips(name,chip));) for (i = 0; !final_expr && (i < chip->computes_count); i++) { @@ -265,7 +265,7 @@ int sensors_set_feature(sensors_chip_name name, int feature, double value) sensors_lookup_feature_nr(name.prefix, main_feature->compute_mapping))) return -SENSORS_ERR_NO_ENTRY; - if (! (main_feature->mode && SENSORS_MODE_W)) + if (! (main_feature->mode & SENSORS_MODE_W)) return -SENSORS_ERR_ACCESS; for (chip = NULL; !expr && (chip = sensors_for_all_config_chips(name,chip));) for (i = 0; !final_expr && (i < chip->computes_count); i++)