summaryrefslogtreecommitdiffstats
path: root/drivers/counter
diff options
context:
space:
mode:
authorSyed Nayyar Waris <syednwaris@gmail.com>2020-03-16 18:20:46 +0530
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2020-06-14 14:46:52 +0100
commitd5ed76adb926a90fada98f518abc1ab6ef07d28f (patch)
treea3b3c3651094b7546273cd4b09d54735354ad3ef /drivers/counter
parent708d98932893cea609386cefdfd190f757f5a61c (diff)
downloadlinux-d5ed76adb926a90fada98f518abc1ab6ef07d28f.tar.gz
linux-d5ed76adb926a90fada98f518abc1ab6ef07d28f.tar.bz2
linux-d5ed76adb926a90fada98f518abc1ab6ef07d28f.zip
counter: 104-quad-8: Add lock guards - filter clock prescaler
Add lock protection from race conditions to the 104-quad-8 counter driver for filter clock prescaler code changes. Mutex calls used for protection. Signed-off-by: Syed Nayyar Waris <syednwaris@gmail.com> Fixes: de65d0556343 ("counter: 104-quad-8: Support Filter Clock Prescaler") Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Diffstat (limited to 'drivers/counter')
-rw-r--r--drivers/counter/104-quad-8.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/counter/104-quad-8.c b/drivers/counter/104-quad-8.c
index 9364dc188f8f..d22cfae1b019 100644
--- a/drivers/counter/104-quad-8.c
+++ b/drivers/counter/104-quad-8.c
@@ -1365,6 +1365,8 @@ static ssize_t quad8_signal_fck_prescaler_write(struct counter_device *counter,
if (ret)
return ret;
+ mutex_lock(&priv->lock);
+
priv->fck_prescaler[channel_id] = prescaler;
/* Reset Byte Pointer */
@@ -1375,6 +1377,8 @@ static ssize_t quad8_signal_fck_prescaler_write(struct counter_device *counter,
outb(QUAD8_CTR_RLD | QUAD8_RLD_RESET_BP | QUAD8_RLD_PRESET_PSC,
base_offset + 1);
+ mutex_unlock(&priv->lock);
+
return len;
}