Skip to contentSkip to conversation

sparseirq: set lock_class for legacy irq when sparse_irq is selected

PATCH Applied Yinghai Lu 2 participants 2 messages Dec 23, 2008 – Dec 27, 2008 IRQ

lore
Share & tools
lore

Yinghai Lu

author
#0 lore raw

PATCH 1/1 sparseirq: set lock_class for legacy irq when sparse_irq is selected

Impact: fix

that is used to call init_one_irq_desc, after we use static one directly, that line need to be duplicated too.

---
 kernel/irq/handle.c |    1 +
 1 file changed, 1 insertion(+)
kernel/irq/handle.c +1 -0
Index: linux-2.6/kernel/irq/handle.c
===================================================================
@@ -146,6 +146,7 @@ void __init early_irq_init(void)
 	for (i = 0; i < legacy_count; i++) {
 		desc[i].irq = i;
 		desc[i].kstat_irqs = kstat_irqs_legacy[i];
+		lockdep_set_class(&desc[i].lock, &irq_desc_lock_class);
 
 		irq_desc_ptrs[i] = desc + i;
 	}
Applied
#1 lore raw
Quoted 7 lines · Yinghai Lu

Impact: fix

that is used to call init_one_irq_desc, after we use static one directly, that line need to be duplicated too.

applied to tip/irq/sparseirq, thanks Yinghai. I updated the changelog to the one below.

Ingo

----------------->

Quoted 1 line

From 46f2e2de343fa15374fa95e3b1f1d53443803b48 Mon Sep 17 00:00:00 2001

From: Yinghai Lu <[email protected]>
Date: Mon, 22 Dec 2008 20:24:09 -0800
Subject: [PATCH] sparseirq: set lock_class for legacy irq when sparse_irq is selected

Impact: add lockdep annotation to legacy IRQ descs

Warnings resulting out of this were not seen in practice, but it's prudent to initialize the legacy descriptors to the lock class as well, symmetric to how we do it with other descriptors.

---
 kernel/irq/handle.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
kernel/irq/handle.c +1 -0
index 1a01f91..157c04c 100644
@@ -145,6 +145,7 @@ int __init early_irq_init(void)
 	for (i = 0; i < legacy_count; i++) {
 		desc[i].irq = i;
 		desc[i].kstat_irqs = kstat_irqs_legacy[i];
+		lockdep_set_class(&desc[i].lock, &irq_desc_lock_class);
 
 		irq_desc_ptrs[i] = desc + i;
 	}