aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/irq/autoprobe.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/kernel/irq/autoprobe.c b/kernel/irq/autoprobe.c
index c45ab718cf07..b3a5549ea81e 100644
--- a/kernel/irq/autoprobe.c
+++ b/kernel/irq/autoprobe.c
@@ -40,6 +40,8 @@ unsigned long probe_irq_on(void)
40 */ 40 */
41 for (i = nr_irqs-1; i > 0; i--) { 41 for (i = nr_irqs-1; i > 0; i--) {
42 desc = irq_to_desc(i); 42 desc = irq_to_desc(i);
43 if (!desc)
44 continue;
43 45
44 spin_lock_irq(&desc->lock); 46 spin_lock_irq(&desc->lock);
45 if (!desc->action && !(desc->status & IRQ_NOPROBE)) { 47 if (!desc->action && !(desc->status & IRQ_NOPROBE)) {
@@ -70,6 +72,8 @@ unsigned long probe_irq_on(void)
70 */ 72 */
71 for (i = nr_irqs-1; i > 0; i--) { 73 for (i = nr_irqs-1; i > 0; i--) {
72 desc = irq_to_desc(i); 74 desc = irq_to_desc(i);
75 if (!desc)
76 continue;
73 77
74 spin_lock_irq(&desc->lock); 78 spin_lock_irq(&desc->lock);
75 if (!desc->action && !(desc->status & IRQ_NOPROBE)) { 79 if (!desc->action && !(desc->status & IRQ_NOPROBE)) {
@@ -93,6 +97,8 @@ unsigned long probe_irq_on(void)
93 unsigned int status; 97 unsigned int status;
94 98
95 desc = irq_to_desc(i); 99 desc = irq_to_desc(i);
100 if (!desc)
101 continue;
96 spin_lock_irq(&desc->lock); 102 spin_lock_irq(&desc->lock);
97 status = desc->status; 103 status = desc->status;
98 104
@@ -134,6 +140,8 @@ unsigned int probe_irq_mask(unsigned long val)
134 struct irq_desc *desc = irq_to_desc(i); 140 struct irq_desc *desc = irq_to_desc(i);
135 unsigned int status; 141 unsigned int status;
136 142
143 if (!desc)
144 continue;
137 spin_lock_irq(&desc->lock); 145 spin_lock_irq(&desc->lock);
138 status = desc->status; 146 status = desc->status;
139 147
@@ -177,6 +185,8 @@ int probe_irq_off(unsigned long val)
177 struct irq_desc *desc = irq_to_desc(i); 185 struct irq_desc *desc = irq_to_desc(i);
178 unsigned int status; 186 unsigned int status;
179 187
188 if (!desc)
189 continue;
180 spin_lock_irq(&desc->lock); 190 spin_lock_irq(&desc->lock);
181 status = desc->status; 191 status = desc->status;
182 192