Showing error 597

User: Jiri Slaby
Error type: Double Unlock
Error type description: Some lock is unlocked twice unintentionally in a sequence
File location: sound/oss/mpu401.c
Line in file: 1018
Project: Linux Kernel
Project version: 2.6.28
Confirmation: Fixed by 9ea5ca75a2aebb7172094a7d77acf6ff7600cc56
Tools: Stanse (1.2)
Entered: 2011-11-07 22:20:57 UTC


Source:

 988
 989        if (devc->irq < 0)
 990        {
 991                devc->irq *= -1;
 992                devc->shared_irq = 1;
 993        }
 994
 995        if (!hw_config->always_detect)
 996        {
 997                /* Verify the hardware again */
 998                if (!reset_mpu401(devc))
 999                {
1000                        printk(KERN_WARNING "mpu401: Device didn't respond\n");
1001                        ret = -ENODEV;
1002                        goto out_mididev;
1003                }
1004                if (!devc->shared_irq)
1005                {
1006                        if (request_irq(devc->irq, mpuintr, 0, "mpu401",
1007                                        hw_config) < 0)
1008                        {
1009                                printk(KERN_WARNING "mpu401: Failed to allocate IRQ%d\n", devc->irq);
1010                                ret = -ENOMEM;
1011                                goto out_mididev;
1012                        }
1013                }
1014                spin_lock_irqsave(&devc->lock,flags);
1015                mpu401_chk_version(m, devc);
1016                if (devc->version == 0)
1017                        mpu401_chk_version(m, devc);
1018                spin_unlock_irqrestore(&devc->lock, flags);
1019        }
1020
1021        if (devc->version != 0)
1022                if (mpu_cmd(m, 0xC5, 0) >= 0)        /* Set timebase OK */
1023                        if (mpu_cmd(m, 0xE0, 120) >= 0)                /* Set tempo OK */
1024                                devc->capabilities |= MPU_CAP_INTLG;        /* Supports intelligent mode */
1025
1026
1027        mpu401_synth_operations[m] = kmalloc(sizeof(struct synth_operations), GFP_KERNEL);
1028
Show full sources