projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
df7019f
)
w1_bq27000: Only one thread can access the bq27000 at a time.
author
NeilBrown
<neilb@suse.de>
Sun, 19 Feb 2012 02:10:00 +0000
(13:10 +1100)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Fri, 24 Feb 2012 22:25:50 +0000
(14:25 -0800)
If multiple threads try, they trip over each other badly.
Signed-off-by: NeilBrown <neilb@suse.de>
Acked-by: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/w1/slaves/w1_bq27000.c
patch
|
blob
|
history
diff --git
a/drivers/w1/slaves/w1_bq27000.c
b/drivers/w1/slaves/w1_bq27000.c
index 6ae60aa1315b17685e27d66e9a4ad9b9e66132b7..52ad812fa1e7e73c8bc07545b82e967c73ff6a50 100644
(file)
--- a/
drivers/w1/slaves/w1_bq27000.c
+++ b/
drivers/w1/slaves/w1_bq27000.c
@@
-31,8
+31,10
@@
static int w1_bq27000_read(struct device *dev, unsigned int reg)
u8 val;
struct w1_slave *sl = container_of(dev->parent, struct w1_slave, dev);
+ mutex_lock(&sl->master->mutex);
w1_write_8(sl->master, HDQ_CMD_READ | reg);
val = w1_read_8(sl->master);
+ mutex_unlock(&sl->master->mutex);
return val;
}