aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Richter <robert.richter@amd.com>2009-07-15 09:44:18 -0400
committerRobert Richter <robert.richter@amd.com>2009-07-20 10:43:18 -0400
commit2051cade7ccbe45a8bf8b7809d56b23d6d75ad03 (patch)
tree6c3e1973ac658f4db220ee5bbf9f770f504e210c
parent6bfccd099c2841e1c42530f1b6d2553bfa13be3a (diff)
oprofile: oprofile_set_timeout(), return with error for invalid args
Return with -EINVAL for invalid parameters instead of setting the default value in oprofile_set_timeout(). Signed-off-by: Robert Richter <robert.richter@amd.com>
-rw-r--r--drivers/oprofile/oprof.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/oprofile/oprof.c b/drivers/oprofile/oprof.c
index 7bc64af7cf99..42c9c765f9f1 100644
--- a/drivers/oprofile/oprof.c
+++ b/drivers/oprofile/oprof.c
@@ -196,6 +196,7 @@ post_sync:
196int oprofile_set_timeout(unsigned long val_msec) 196int oprofile_set_timeout(unsigned long val_msec)
197{ 197{
198 int err = 0; 198 int err = 0;
199 unsigned long time_slice;
199 200
200 mutex_lock(&start_mutex); 201 mutex_lock(&start_mutex);
201 202
@@ -209,9 +210,13 @@ int oprofile_set_timeout(unsigned long val_msec)
209 goto out; 210 goto out;
210 } 211 }
211 212
212 timeout_jiffies = msecs_to_jiffies(val_msec); 213 time_slice = msecs_to_jiffies(val_msec);
213 if (timeout_jiffies == MAX_JIFFY_OFFSET) 214 if (time_slice == MAX_JIFFY_OFFSET) {
214 timeout_jiffies = msecs_to_jiffies(MULTIPLEXING_TIMER_DEFAULT); 215 err = -EINVAL;
216 goto out;
217 }
218
219 timeout_jiffies = time_slice;
215 220
216out: 221out:
217 mutex_unlock(&start_mutex); 222 mutex_unlock(&start_mutex);