summaryrefslogtreecommitdiffstats
path: root/drivers/hwtracing/intel_th/intel_th.h
diff options
context:
space:
mode:
authorAlexander Shishkin <alexander.shishkin@linux.intel.com>2016-06-30 11:51:44 +0300
committerAlexander Shishkin <alexander.shishkin@linux.intel.com>2016-07-14 13:02:39 +0300
commita36aa80f3cb2540fb1dbad6240852de4365a2e82 (patch)
tree193a9f67ab7426ed0e2fa650445ea2cd4f997a3a /drivers/hwtracing/intel_th/intel_th.h
parentaf8c34ce6ae32addda3788d54a7e340cad22516b (diff)
downloadlinux-a36aa80f3cb2540fb1dbad6240852de4365a2e82.tar.gz
linux-a36aa80f3cb2540fb1dbad6240852de4365a2e82.tar.bz2
linux-a36aa80f3cb2540fb1dbad6240852de4365a2e82.zip
intel_th: Fix a deadlock in modprobing
Driver initialization tries to request a hub (GTH) driver module from its probe callback, resulting in a deadlock. This patch solves the problem by adding a deferred work for requesting the hub module. Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: <stable@vger.kernel.org> # 4.4.x-
Diffstat (limited to 'drivers/hwtracing/intel_th/intel_th.h')
-rw-r--r--drivers/hwtracing/intel_th/intel_th.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/hwtracing/intel_th/intel_th.h b/drivers/hwtracing/intel_th/intel_th.h
index 0df22e30673d..04828482600b 100644
--- a/drivers/hwtracing/intel_th/intel_th.h
+++ b/drivers/hwtracing/intel_th/intel_th.h
@@ -205,6 +205,9 @@ struct intel_th {
int id;
int major;
+#ifdef CONFIG_MODULES
+ struct work_struct request_module_work;
+#endif /* CONFIG_MODULES */
#ifdef CONFIG_INTEL_TH_DEBUG
struct dentry *dbg;
#endif