Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f6e8a1d7 authored by NeilBrown's avatar NeilBrown Committed by Greg Kroah-Hartman
Browse files

w1_bq27000: Only one thread can access the bq27000 at a time.



If multiple threads try, they trip over each other badly.

Signed-off-by: default avatarNeilBrown <neilb@suse.de>
Acked-by: default avatarEvgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent df7019f3
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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;
}