diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2009-11-17 01:01:34 -0800 |
---|---|---|
committer | Eric W. Biederman <ebiederm@xmission.com> | 2009-11-17 01:01:34 -0800 |
commit | bb9074ff58fe745e4f244f76209241909c82ec9c (patch) | |
tree | cf6be00ab88b1e315f6b74a896a370440f677599 /drivers/pps/pps.c | |
parent | 4739a9748e1bd7459f22f7e94e7d85710ca83954 (diff) | |
parent | 156171c71a0dc4bce12b4408bb1591f8fe32dc1a (diff) |
Merge commit 'v2.6.32-rc7'
Resolve the conflict between v2.6.32-rc7 where dn_def_dev_handler
gets a small bug fix and the sysctl tree where I am removing all
sysctl strategy routines.
Diffstat (limited to 'drivers/pps/pps.c')
-rw-r--r-- | drivers/pps/pps.c | 11 |
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, ¶ms, sizeof(struct pps_kparams)); if (err) return -EFAULT; |