29 Jan, 2015

3 commits

  • Protect the call with a mutex, as this may be called in parallel
    (either from the PCM rate change and the clock change).

    Acked-by: Jaroslav Kysela
    Tested-by: Pavel Hofman
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Define snd_ak4114_suspend() and snd_ak4114_resume() functions to
    handle PM properly, stopping and restarting the work at PM.
    Currently only ice1712/juli.c deals with the PM and ak4114, so fix the
    calls there appropriately.

    The same PM functions are defined in ak4113.c, too, although they
    aren't currently called yet (ice1712/quartet.c may be enhanced to
    support PM later).

    Acked-by: Jaroslav Kysela
    Tested-by: Pavel Hofman
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • When ak4114 work calls its callback and the callback invokes
    ak4114_reinit(), it stalls due to flush_delayed_work(). For avoiding
    this, control the reentrance by introducing a refcount. Also
    flush_delayed_work() is replaced with cancel_delayed_work_sync().

    The exactly same bug is present in ak4113.c and fixed as well.

    Reported-by: Pavel Hofman
    Acked-by: Jaroslav Kysela
    Tested-by: Pavel Hofman
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

04 Apr, 2010

1 commit


21 Sep, 2009

1 commit