diff options
author | Jeff Garzik <jeff@garzik.org> | 2006-06-22 22:51:46 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-06-22 22:51:46 -0400 |
commit | dbe1ab9514c231c9b062140a107d9dea0eabefcc (patch) | |
tree | 0001c7143cf923fc704215f0a0e54221e9e5cbb9 /drivers/w1/slaves/w1_therm.c | |
parent | [PATCH] s2io: netpoll support (diff) | |
parent | Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/i2c-2.6 (diff) | |
download | linux-dev-dbe1ab9514c231c9b062140a107d9dea0eabefcc.tar.xz linux-dev-dbe1ab9514c231c9b062140a107d9dea0eabefcc.zip |
Merge branch 'master' into upstream
Diffstat (limited to 'drivers/w1/slaves/w1_therm.c')
-rw-r--r-- | drivers/w1/slaves/w1_therm.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/drivers/w1/slaves/w1_therm.c b/drivers/w1/slaves/w1_therm.c index 536d16d78de7..5372cfcbd054 100644 --- a/drivers/w1/slaves/w1_therm.c +++ b/drivers/w1/slaves/w1_therm.c @@ -29,7 +29,6 @@ #include <linux/delay.h> #include "../w1.h" -#include "../w1_io.h" #include "../w1_int.h" #include "../w1_family.h" @@ -166,12 +165,7 @@ static ssize_t w1_therm_read_bin(struct kobject *kobj, char *buf, loff_t off, si u8 rom[9], crc, verdict; int i, max_trying = 10; - atomic_inc(&sl->refcnt); - smp_mb__after_atomic_inc(); - if (down_interruptible(&sl->master->mutex)) { - count = 0; - goto out_dec; - } + mutex_lock(&sl->master->mutex); if (off > W1_SLAVE_DATA_SIZE) { count = 0; @@ -234,10 +228,7 @@ static ssize_t w1_therm_read_bin(struct kobject *kobj, char *buf, loff_t off, si count += sprintf(buf + count, "t=%d\n", w1_convert_temp(rom, sl->family->fid)); out: - up(&dev->mutex); -out_dec: - smp_mb__before_atomic_inc(); - atomic_dec(&sl->refcnt); + mutex_unlock(&dev->mutex); return count; } |