summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/w1/masters/tegra_w1.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/w1/masters/tegra_w1.c b/drivers/w1/masters/tegra_w1.c
index 9443c4b1dbc6..85eefd4d7eb5 100644
--- a/drivers/w1/masters/tegra_w1.c
+++ b/drivers/w1/masters/tegra_w1.c
@@ -290,7 +290,9 @@ static u8 tegra_w1_touch_bit(void *data, u8 bit)
done:
w1_imask(dev, 0);
+ spin_lock(&dev->spinlock);
dev->transfer_completion = NULL;
+ spin_unlock(&dev->spinlock);
clk_disable(dev->clk);
mutex_unlock(&dev->mutex);
return return_bit;
@@ -334,7 +336,9 @@ done:
}
w1_imask(dev, 0);
+ spin_lock(&dev->spinlock);
dev->transfer_completion = NULL;
+ spin_unlock(&dev->spinlock);
clk_disable(dev->clk);
mutex_unlock(&dev->mutex);
return presence;