diff options
author | Alexander Shishkin <alexander.shishkin@linux.intel.com> | 2016-06-30 11:51:44 +0300 |
---|---|---|
committer | Alexander Shishkin <alexander.shishkin@linux.intel.com> | 2016-07-14 13:02:39 +0300 |
commit | a36aa80f3cb2540fb1dbad6240852de4365a2e82 (patch) | |
tree | 193a9f67ab7426ed0e2fa650445ea2cd4f997a3a /drivers/hwtracing/intel_th/intel_th.h | |
parent | af8c34ce6ae32addda3788d54a7e340cad22516b (diff) | |
download | linux-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.h | 3 |
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 |