|
@@ -68,6 +68,21 @@ struct workqueue_struct {
|
|
#endif
|
|
#endif
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+#ifdef CONFIG_LOCKDEP
|
|
|
|
+/**
|
|
|
|
+ * in_workqueue_context() - in context of specified workqueue?
|
|
|
|
+ * @wq: the workqueue of interest
|
|
|
|
+ *
|
|
|
|
+ * Checks lockdep state to see if the current task is executing from
|
|
|
|
+ * within a workqueue item. This function exists only if lockdep is
|
|
|
|
+ * enabled.
|
|
|
|
+ */
|
|
|
|
+int in_workqueue_context(struct workqueue_struct *wq)
|
|
|
|
+{
|
|
|
|
+ return lock_is_held(&wq->lockdep_map);
|
|
|
|
+}
|
|
|
|
+#endif
|
|
|
|
+
|
|
#ifdef CONFIG_DEBUG_OBJECTS_WORK
|
|
#ifdef CONFIG_DEBUG_OBJECTS_WORK
|
|
|
|
|
|
static struct debug_obj_descr work_debug_descr;
|
|
static struct debug_obj_descr work_debug_descr;
|