diff options
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/irq/autoprobe.c | 10 |
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 | ||