aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/futex.c8
-rw-r--r--kernel/irq/manage.c16
2 files changed, 14 insertions, 10 deletions
diff --git a/kernel/futex.c b/kernel/futex.c
index 6c91f938005d..15caf93e4a43 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -630,8 +630,10 @@ static int futex_wake(u32 __user *uaddr, int nr_wake)
630 630
631 list_for_each_entry_safe(this, next, head, list) { 631 list_for_each_entry_safe(this, next, head, list) {
632 if (match_futex (&this->key, &key)) { 632 if (match_futex (&this->key, &key)) {
633 if (this->pi_state) 633 if (this->pi_state) {
634 return -EINVAL; 634 ret = -EINVAL;
635 break;
636 }
635 wake_futex(this); 637 wake_futex(this);
636 if (++ret >= nr_wake) 638 if (++ret >= nr_wake)
637 break; 639 break;
@@ -1208,7 +1210,7 @@ static int do_futex_lock_pi(u32 __user *uaddr, int detect, int trylock,
1208 } 1210 }
1209 1211
1210 down_read(&curr->mm->mmap_sem); 1212 down_read(&curr->mm->mmap_sem);
1211 hb = queue_lock(&q, -1, NULL); 1213 spin_lock(q.lock_ptr);
1212 1214
1213 /* 1215 /*
1214 * Got the lock. We might not be the anticipated owner if we 1216 * Got the lock. We might not be the anticipated owner if we
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index b7117e81ac56..fcce5181e453 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -114,7 +114,7 @@ void enable_irq(unsigned int irq)
114 spin_lock_irqsave(&desc->lock, flags); 114 spin_lock_irqsave(&desc->lock, flags);
115 switch (desc->depth) { 115 switch (desc->depth) {
116 case 0: 116 case 0:
117 printk(KERN_WARNING "Unablanced enable_irq(%d)\n", irq); 117 printk(KERN_WARNING "Unbalanced enable for IRQ %d\n", irq);
118 WARN_ON(1); 118 WARN_ON(1);
119 break; 119 break;
120 case 1: { 120 case 1: {
@@ -236,7 +236,8 @@ int setup_irq(unsigned int irq, struct irqaction *new)
236 236
237#if defined(CONFIG_IRQ_PER_CPU) && defined(SA_PERCPU_IRQ) 237#if defined(CONFIG_IRQ_PER_CPU) && defined(SA_PERCPU_IRQ)
238 /* All handlers must agree on per-cpuness */ 238 /* All handlers must agree on per-cpuness */
239 if ((old->flags & IRQ_PER_CPU) != (new->flags & IRQ_PER_CPU)) 239 if ((old->flags & SA_PERCPU_IRQ) !=
240 (new->flags & SA_PERCPU_IRQ))
240 goto mismatch; 241 goto mismatch;
241#endif 242#endif
242 243
@@ -266,9 +267,10 @@ int setup_irq(unsigned int irq, struct irqaction *new)
266 * SA_TRIGGER_* but the PIC does not support 267 * SA_TRIGGER_* but the PIC does not support
267 * multiple flow-types? 268 * multiple flow-types?
268 */ 269 */
269 printk(KERN_WARNING "setup_irq(%d) SA_TRIGGER" 270 printk(KERN_WARNING "No SA_TRIGGER set_type "
270 "set. No set_type function available\n", 271 "function for IRQ %d (%s)\n", irq,
271 irq); 272 desc->chip ? desc->chip->name :
273 "unknown");
272 } else 274 } else
273 compat_irq_chip_set_default_handler(desc); 275 compat_irq_chip_set_default_handler(desc);
274 276
@@ -298,7 +300,7 @@ int setup_irq(unsigned int irq, struct irqaction *new)
298mismatch: 300mismatch:
299 spin_unlock_irqrestore(&desc->lock, flags); 301 spin_unlock_irqrestore(&desc->lock, flags);
300 if (!(new->flags & SA_PROBEIRQ)) { 302 if (!(new->flags & SA_PROBEIRQ)) {
301 printk(KERN_ERR "%s: irq handler mismatch\n", __FUNCTION__); 303 printk(KERN_ERR "IRQ handler type mismatch for IRQ %d\n", irq);
302 dump_stack(); 304 dump_stack();
303 } 305 }
304 return -EBUSY; 306 return -EBUSY;
@@ -365,7 +367,7 @@ void free_irq(unsigned int irq, void *dev_id)
365 kfree(action); 367 kfree(action);
366 return; 368 return;
367 } 369 }
368 printk(KERN_ERR "Trying to free free IRQ%d\n", irq); 370 printk(KERN_ERR "Trying to free already-free IRQ %d\n", irq);
369 spin_unlock_irqrestore(&desc->lock, flags); 371 spin_unlock_irqrestore(&desc->lock, flags);
370 return; 372 return;
371 } 373 }