Showing error 576

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


Source:

 155#endif
 156
 157static void sleep(unsigned howlong)
 158{
 159        current->state = TASK_INTERRUPTIBLE;
 160        schedule_timeout(howlong);
 161}
 162
 163static unsigned char sscape_read(struct sscape_info *devc, int reg)
 164{
 165        unsigned long flags;
 166        unsigned char val;
 167
 168        spin_lock_irqsave(&devc->lock,flags);
 169        outb(reg, PORT(ODIE_ADDR));
 170        val = inb(PORT(ODIE_DATA));
 171        spin_unlock_irqrestore(&devc->lock,flags);
 172        return val;
 173}
 174
 175static void __sscape_write(int reg, int data)
 176{
 177        outb(reg, PORT(ODIE_ADDR));
 178        outb(data, PORT(ODIE_DATA));
 179}
 180
 181static void sscape_write(struct sscape_info *devc, int reg, int data)
 182{
 183        unsigned long flags;
 184
 185        spin_lock_irqsave(&devc->lock,flags);
 186        __sscape_write(reg, data);
 187        spin_unlock_irqrestore(&devc->lock,flags);
 188}
 189
 190static unsigned char sscape_pnp_read_codec(sscape_info* devc, unsigned char reg)
 191{
 192        unsigned char res;
 193        unsigned long flags;
 194
 195        spin_lock_irqsave(&devc->lock,flags);
Show full sources