lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 15 Dec 2022 10:17:47 +0100
From:   Marco Felsch <m.felsch@...gutronix.de>
To:     Mark Brown <broonie@...nel.org>
Cc:     Rouven Czerwinski <r.czerwinski@...gutronix.de>,
        Liam Girdwood <lgirdwood@...il.com>,
        Jaroslav Kysela <perex@...ex.cz>,
        Takashi Iwai <tiwai@...e.com>, kernel@...gutronix.de,
        alsa-devel@...a-project.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] ASoC: max98088: fix initial dai mute state

Hi Mark,

On 22-12-13, Mark Brown wrote:
> On Tue, Dec 13, 2022 at 10:53:28AM +0100, Rouven Czerwinski wrote:
> 
> > To fix that we need to explicit set the mute state. Now the first
> > playback request gets played correctly.
> 
> > +++ b/sound/soc/codecs/max98088.c
> > @@ -1710,6 +1710,11 @@ static int max98088_probe(struct snd_soc_component *component)
> >         snd_soc_component_write(component, M98088_REG_1E_DAI2_IOCFG,
> >                 M98088_S2NORMAL|M98088_SDATA);
> >  
> > +       snd_soc_component_update_bits(component, M98088_REG_2F_LVL_DAI1_PLAY,
> > +               M98088_DAI_MUTE_MASK, M98088_DAI_MUTE);
> > +       snd_soc_component_update_bits(component, M98088_REG_31_LVL_DAI2_PLAY,
> > +               M98088_DAI_MUTE_MASK, M98088_DAI_MUTE);
> > +
> 
> Won't this be broken again after suspend?  The device gets powered off
> over suspend, then when it powers on again with the output unmuted
> nothing will do another write since the register is already in the state
> in the cache.

I didn't found any suspend logic within the driver. Is this handled
within the ASoC core?

Regards,
  Marco

Powered by blists - more mailing lists