diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/futex.c | 8 | ||||
| -rw-r--r-- | kernel/irq/manage.c | 16 |
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) | |||
| 298 | mismatch: | 300 | mismatch: |
| 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 | } |
