summaryrefslogtreecommitdiffstats
path: root/drivers/pps/pps.c
diff options
context:
space:
mode:
authorJames Morris <jmorris@macbook.(none)>2009-12-03 07:33:40 +0100
committerJames Morris <jmorris@macbook.(none)>2009-12-03 07:33:40 +0100
commitc84d6efd363a3948eb32ec40d46bab6338580454 (patch)
tree3ba7ac46e6626fe8ac843834588609eb6ccee5c6 /drivers/pps/pps.c
parentTOMOYO: Add recursive directory matching operator support. (diff)
parentLinux 2.6.32 (diff)
downloadlinux-c84d6efd363a3948eb32ec40d46bab6338580454.tar.xz
linux-c84d6efd363a3948eb32ec40d46bab6338580454.zip
Merge branch 'master' into next
Diffstat (limited to 'drivers/pps/pps.c')
-rw-r--r--drivers/pps/pps.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/pps/pps.c b/drivers/pps/pps.c
index fea17e7805e9..ca5183bdad85 100644
--- a/drivers/pps/pps.c
+++ b/drivers/pps/pps.c
@@ -71,9 +71,14 @@ static long pps_cdev_ioctl(struct file *file,
case PPS_GETPARAMS:
pr_debug("PPS_GETPARAMS: source %d\n", pps->id);
- /* Return current parameters */
- err = copy_to_user(uarg, &pps->params,
- sizeof(struct pps_kparams));
+ spin_lock_irq(&pps->lock);
+
+ /* Get the current parameters */
+ params = pps->params;
+
+ spin_unlock_irq(&pps->lock);
+
+ err = copy_to_user(uarg, &params, sizeof(struct pps_kparams));
if (err)
return -EFAULT;