diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/w1/masters/tegra_w1.c | 4 |
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; |