diff options
Diffstat (limited to 'include/litmus/litmus_softirq.h')
-rw-r--r-- | include/litmus/litmus_softirq.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/include/litmus/litmus_softirq.h b/include/litmus/litmus_softirq.h index cfef08187464..e9590835dc19 100644 --- a/include/litmus/litmus_softirq.h +++ b/include/litmus/litmus_softirq.h | |||
@@ -153,14 +153,27 @@ static inline int _litmus_tasklet_hi_schedule_first( | |||
153 | ////////////// | 153 | ////////////// |
154 | 154 | ||
155 | extern int __litmus_schedule_work( | 155 | extern int __litmus_schedule_work( |
156 | struct work_struct* w, | 156 | struct work_struct *w, |
157 | struct task_struct *klmirqd_thread); | 157 | struct task_struct *klmirqd_thread); |
158 | 158 | ||
159 | static inline int litmus_schedule_work( | 159 | static inline int litmus_schedule_work( |
160 | struct work_struct* w, | 160 | struct work_struct *w, |
161 | struct task_struct *klmirqd_thread) | ||
162 | { | ||
163 | int ret = 0; | ||
164 | if (!test_and_set_bit(WORK_STRUCT_PENDING_BIT, work_data_bits(w))) { | ||
165 | ret = __litmus_schedule_work(w, klmirqd_thread); | ||
166 | } | ||
167 | return(ret); | ||
168 | } | ||
169 | |||
170 | static inline int _litmus_schedule_work( | ||
171 | struct work_struct *w, | ||
161 | struct task_struct *klmirqd_thread) | 172 | struct task_struct *klmirqd_thread) |
162 | { | 173 | { |
163 | return(__litmus_schedule_work(w, klmirqd_thread)); | 174 | return(__litmus_schedule_work(w, klmirqd_thread)); |
164 | } | 175 | } |
165 | 176 | ||
177 | |||
178 | |||
166 | #endif | 179 | #endif |