Showing error 567

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


Source:

 122                iqhead = (iqhead + 1) % SEQ_MAX_QUEUE;
 123                iqlen--;
 124        }
 125        spin_unlock_irqrestore(&lock,flags);
 126        return count - c;
 127}
 128
 129static void sequencer_midi_output(int dev)
 130{
 131        /*
 132         * Currently NOP
 133         */
 134}
 135
 136void seq_copy_to_input(unsigned char *event_rec, int len)
 137{
 138        unsigned long flags;
 139
 140        /*
 141         * Verify that the len is valid for the current mode.
 142         */
 143
 144        if (len != 4 && len != 8)
 145                return;
 146        if ((seq_mode == SEQ_1) != (len == 4))
 147                return;
 148
 149        if (iqlen >= (SEQ_MAX_QUEUE - 1))
 150                return;                /* Overflow */
 151
 152        spin_lock_irqsave(&lock,flags);
 153        memcpy(&iqueue[iqtail * IEV_SZ], event_rec, len);
 154        iqlen++;
 155        iqtail = (iqtail + 1) % SEQ_MAX_QUEUE;
 156        wake_up(&midi_sleeper);
 157        spin_unlock_irqrestore(&lock,flags);
 158}
 159EXPORT_SYMBOL(seq_copy_to_input);
 160
 161static void sequencer_midi_input(int dev, unsigned char data)
 162{
Show full sources