41 lines
1.4 KiB
Diff
41 lines
1.4 KiB
Diff
From 066499ad5231a8a8d37f08a3af5dd6c38431ce6f Mon Sep 17 00:00:00 2001
|
|
From: liuchao173 <55137861+liuchao173@users.noreply.github.com>
|
|
Date: Fri, 7 May 2021 20:48:32 +0800
|
|
Subject: [PATCH] remove no existing irq in banned_irqs
|
|
|
|
when a banned irq doesn't exist, it won't be removed from banned_irqs
|
|
---
|
|
classify.c | 11 +++++++++--
|
|
1 file changed, 9 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/classify.c b/classify.c
|
|
index 105ecd6..c08144f 100644
|
|
--- a/classify.c
|
|
+++ b/classify.c
|
|
@@ -847,8 +847,16 @@ static void remove_no_existing_irq(struct irq_info *info, void *data __attribute
|
|
}
|
|
|
|
entry = g_list_find_custom(interrupts_db, info, compare_ints);
|
|
- if (entry)
|
|
+ if (entry) {
|
|
interrupts_db = g_list_delete_link(interrupts_db, entry);
|
|
+ log(TO_CONSOLE, LOG_INFO, "IRQ %d is removed from interrupts_db.\n", info->irq);
|
|
+ }
|
|
+
|
|
+ entry = g_list_find_custom(banned_irqs, info, compare_ints);
|
|
+ if (entry) {
|
|
+ banned_irqs = g_list_delete_link(banned_irqs, entry);
|
|
+ log(TO_CONSOLE, LOG_INFO, "IRQ %d is removed from banned_irqs.\n", info->irq);
|
|
+ }
|
|
|
|
entry = g_list_find_custom(rebalance_irq_list, info, compare_ints);
|
|
if (entry)
|
|
@@ -860,7 +868,6 @@ static void remove_no_existing_irq(struct irq_info *info, void *data __attribute
|
|
info->assigned_obj->interrupts = g_list_delete_link(info->assigned_obj->interrupts, entry);
|
|
}
|
|
}
|
|
- log(TO_CONSOLE, LOG_INFO, "IRQ %d is removed from interrupts_db.\n", info->irq);
|
|
free_irq(info, NULL);
|
|
}
|
|
|