diff options
Diffstat (limited to 'kernel/kthread.c')
| -rw-r--r-- | kernel/kthread.c | 24 |
1 files changed, 2 insertions, 22 deletions
diff --git a/kernel/kthread.c b/kernel/kthread.c index 24be714b04c7..4f9c60ef95e8 100644 --- a/kernel/kthread.c +++ b/kernel/kthread.c | |||
| @@ -216,23 +216,6 @@ EXPORT_SYMBOL(kthread_bind); | |||
| 216 | */ | 216 | */ |
| 217 | int kthread_stop(struct task_struct *k) | 217 | int kthread_stop(struct task_struct *k) |
| 218 | { | 218 | { |
| 219 | return kthread_stop_sem(k, NULL); | ||
| 220 | } | ||
| 221 | EXPORT_SYMBOL(kthread_stop); | ||
| 222 | |||
| 223 | /** | ||
| 224 | * kthread_stop_sem - stop a thread created by kthread_create(). | ||
| 225 | * @k: thread created by kthread_create(). | ||
| 226 | * @s: semaphore that @k waits on while idle. | ||
| 227 | * | ||
| 228 | * Does essentially the same thing as kthread_stop() above, but wakes | ||
| 229 | * @k by calling up(@s). | ||
| 230 | * | ||
| 231 | * Returns the result of threadfn(), or %-EINTR if wake_up_process() | ||
| 232 | * was never called. | ||
| 233 | */ | ||
| 234 | int kthread_stop_sem(struct task_struct *k, struct semaphore *s) | ||
| 235 | { | ||
| 236 | int ret; | 219 | int ret; |
| 237 | 220 | ||
| 238 | mutex_lock(&kthread_stop_lock); | 221 | mutex_lock(&kthread_stop_lock); |
| @@ -246,10 +229,7 @@ int kthread_stop_sem(struct task_struct *k, struct semaphore *s) | |||
| 246 | 229 | ||
| 247 | /* Now set kthread_should_stop() to true, and wake it up. */ | 230 | /* Now set kthread_should_stop() to true, and wake it up. */ |
| 248 | kthread_stop_info.k = k; | 231 | kthread_stop_info.k = k; |
| 249 | if (s) | 232 | wake_up_process(k); |
| 250 | up(s); | ||
| 251 | else | ||
| 252 | wake_up_process(k); | ||
| 253 | put_task_struct(k); | 233 | put_task_struct(k); |
| 254 | 234 | ||
| 255 | /* Once it dies, reset stop ptr, gather result and we're done. */ | 235 | /* Once it dies, reset stop ptr, gather result and we're done. */ |
| @@ -260,7 +240,7 @@ int kthread_stop_sem(struct task_struct *k, struct semaphore *s) | |||
| 260 | 240 | ||
| 261 | return ret; | 241 | return ret; |
| 262 | } | 242 | } |
| 263 | EXPORT_SYMBOL(kthread_stop_sem); | 243 | EXPORT_SYMBOL(kthread_stop); |
| 264 | 244 | ||
| 265 | static __init int helper_init(void) | 245 | static __init int helper_init(void) |
| 266 | { | 246 | { |
