Showing error 563

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


Source:

 903        .send_sysex        = midi_synth_send_sysex
 904};
 905
 906static struct synth_operations *mpu401_synth_operations[MAX_MIDI_DEV];
 907
 908static struct midi_operations mpu401_midi_proto =
 909{
 910        .owner                = THIS_MODULE,
 911        .info                = {"MPU-401 Midi", 0, MIDI_CAP_MPU401, SNDCARD_MPU401},
 912        .in_info        = {0},
 913        .open                = mpu401_open,
 914        .close                = mpu401_close,
 915        .ioctl                = mpu401_ioctl,
 916        .outputc        = mpu401_out,
 917        .start_read        = mpu401_start_read,
 918        .end_read        = mpu401_end_read,
 919        .kick                = mpu401_kick,
 920        .buffer_status        = mpu401_buffer_status,
 921        .prefix_cmd        = mpu401_prefix_cmd
 922};
 923
 924static struct midi_operations mpu401_midi_operations[MAX_MIDI_DEV];
 925
 926static void mpu401_chk_version(int n, struct mpu_config *devc)
 927{
 928        int tmp;
 929        unsigned long flags;
 930
 931        devc->version = devc->revision = 0;
 932
 933        spin_lock_irqsave(&devc->lock,flags);
 934        if ((tmp = mpu_cmd(n, 0xAC, 0)) < 0)
 935        {
 936                spin_unlock_irqrestore(&devc->lock,flags);
 937                return;
 938        }
 939        if ((tmp & 0xf0) > 0x20)        /* Why it's larger than 2.x ??? */
 940        {
 941                spin_unlock_irqrestore(&devc->lock,flags);
 942                return;
 943        }
Show full sources