Commit 708f997169d5674177450f25ef3ac6b4f2562690

Authored by Konstantin Baydarov
Committed by Jaroslav Kysela
1 parent 6d6f915620

[ALSA] AMD Au1x00 driver: buggy spinlocks

Modules: MIPS AU1x00 driver

AMD Au1x00 ALSA driver fails compilation with the alternate spinlock
implementation because it doesn't do locking/unlocking correctly in some
places (passes spinlock by value).

Signed-off-by: Konstantin Baydarov <kbaidarov@ru.mvista.com>
Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Showing 1 changed file with 4 additions and 4 deletions Side-by-side Diff

... ... @@ -472,7 +472,7 @@
472 472 u32 volatile cmd;
473 473 u16 volatile data;
474 474 int i;
475   - spin_lock(au1000->ac97_lock);
  475 + spin_lock(&au1000->ac97_lock);
476 476 /* would rather use the interupt than this polling but it works and I can't
477 477 get the interupt driven case to work efficiently */
478 478 for (i = 0; i < 0x5000; i++)
... ... @@ -495,7 +495,7 @@
495 495 }
496 496  
497 497 data = au1000->ac97_ioport->cmd & 0xffff;
498   - spin_unlock(au1000->ac97_lock);
  498 + spin_unlock(&au1000->ac97_lock);
499 499  
500 500 return data;
501 501  
... ... @@ -507,7 +507,7 @@
507 507 {
508 508 u32 cmd;
509 509 int i;
510   - spin_lock(au1000->ac97_lock);
  510 + spin_lock(&au1000->ac97_lock);
511 511 /* would rather use the interupt than this polling but it works and I can't
512 512 get the interupt driven case to work efficiently */
513 513 for (i = 0; i < 0x5000; i++)
... ... @@ -520,7 +520,7 @@
520 520 cmd &= ~AC97C_READ;
521 521 cmd |= ((u32) val << AC97C_WD_BIT);
522 522 au1000->ac97_ioport->cmd = cmd;
523   - spin_unlock(au1000->ac97_lock);
  523 + spin_unlock(&au1000->ac97_lock);
524 524 }
525 525 static void
526 526 snd_au1000_ac97_free(ac97_t *ac97)