Showing error 538

User: Jiri Slaby
Error type: Calling function from invalid context
Error type description: Some function is called at inappropriate place like sleep inside critical sections or interrupt handlers
File location: sound/oss/sscape.c
Line in file: 160
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2011-11-07 22:19:02 UTC


Source:

 130        0
 131};
 132
 133static struct sscape_info *devc = &adev_info;
 134static int sscape_mididev = -1;
 135
 136/* Some older cards have assigned interrupt bits differently than new ones */
 137static char valid_interrupts_old[] = {
 138        9, 7, 5, 15
 139};
 140
 141static char valid_interrupts_new[] = {
 142        9, 5, 7, 10
 143};
 144
 145static char *valid_interrupts = valid_interrupts_new;
 146
 147/*
 148 *        See the bottom of the driver. This can be set by spea =0/1.
 149 */
 150 
 151#ifdef REVEAL_SPEA
 152static char old_hardware = 1;
 153#else
 154static char old_hardware;
 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));
Show full sources