mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
Drivers: hv: vmbus: Remove vmbus_irq_initialized
vmbus_irq_initialized is only true if the registration of the per-CPU threads succeeded. If it failed, the whole registration aborts and the vmbus_exit() path is never called. Remove vmbus_irq_initialized. Reviewed-by: Michael Kelley <mhklinux@outlook.com> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Wei Liu <wei.liu@kernel.org>
This commit is contained in:
committed by
Wei Liu
parent
8c7ab779c8
commit
66688e655d
+4
-10
@@ -1369,8 +1369,6 @@ static void run_vmbus_irqd(unsigned int cpu)
|
||||
__vmbus_isr();
|
||||
}
|
||||
|
||||
static bool vmbus_irq_initialized;
|
||||
|
||||
static struct smp_hotplug_thread vmbus_irq_threads = {
|
||||
.store = &vmbus_irqd,
|
||||
.setup = vmbus_irqd_setup,
|
||||
@@ -1497,11 +1495,10 @@ static int vmbus_bus_init(void)
|
||||
* the VMbus interrupt handler.
|
||||
*/
|
||||
|
||||
if (IS_ENABLED(CONFIG_PREEMPT_RT) && !vmbus_irq_initialized) {
|
||||
if (IS_ENABLED(CONFIG_PREEMPT_RT)) {
|
||||
ret = smpboot_register_percpu_thread(&vmbus_irq_threads);
|
||||
if (ret)
|
||||
goto err_kthread;
|
||||
vmbus_irq_initialized = true;
|
||||
}
|
||||
|
||||
if (vmbus_irq == -1) {
|
||||
@@ -1545,10 +1542,8 @@ err_connect:
|
||||
else
|
||||
free_percpu_irq(vmbus_irq, &vmbus_evt);
|
||||
err_setup:
|
||||
if (IS_ENABLED(CONFIG_PREEMPT_RT) && vmbus_irq_initialized) {
|
||||
if (IS_ENABLED(CONFIG_PREEMPT_RT))
|
||||
smpboot_unregister_percpu_thread(&vmbus_irq_threads);
|
||||
vmbus_irq_initialized = false;
|
||||
}
|
||||
err_kthread:
|
||||
bus_unregister(&hv_bus);
|
||||
return ret;
|
||||
@@ -3046,10 +3041,9 @@ static void __exit vmbus_exit(void)
|
||||
hv_remove_vmbus_handler();
|
||||
else
|
||||
free_percpu_irq(vmbus_irq, &vmbus_evt);
|
||||
if (IS_ENABLED(CONFIG_PREEMPT_RT) && vmbus_irq_initialized) {
|
||||
if (IS_ENABLED(CONFIG_PREEMPT_RT))
|
||||
smpboot_unregister_percpu_thread(&vmbus_irq_threads);
|
||||
vmbus_irq_initialized = false;
|
||||
}
|
||||
|
||||
for_each_online_cpu(cpu) {
|
||||
struct hv_per_cpu_context *hv_cpu
|
||||
= per_cpu_ptr(hv_context.cpu_context, cpu);
|
||||
|
||||
Reference in New Issue
Block a user