* broken sound since 5.4.3
@ 2019-12-19 20:59 Stefani Seibold
2019-12-19 22:24 ` Laura Abbott
0 siblings, 1 reply; 4+ messages in thread
From: Stefani Seibold @ 2019-12-19 20:59 UTC (permalink / raw)
To: gregkh, stable
Hi,
the current Linux Kernel is going kills my speakers of my monitor.
Audio level is always 100 at percent.
I broke down the issue to the following patch:
diff --git a/sound/hda/hdac_stream.c b/sound/hda/hdac_stream.c
index d8fe7ff0cd58..f9707fb05efe 100644
--- a/sound/hda/hdac_stream.c
+++ b/sound/hda/hdac_stream.c
@@ -96,12 +96,14 @@ void snd_hdac_stream_start(struct hdac_stream *azx_dev, bool fresh_start)
1 << azx_dev->index,
1 << azx_dev->index);
/* set stripe control */
- if (azx_dev->substream)
- stripe_ctl = snd_hdac_get_stream_stripe_ctl(bus, azx_dev->substream);
- else
- stripe_ctl = 0;
- snd_hdac_stream_updateb(azx_dev, SD_CTL_3B, SD_CTL_STRIPE_MASK,
- stripe_ctl);
+ if (azx_dev->stripe) {
+ if (azx_dev->substream)
+ stripe_ctl = snd_hdac_get_stream_stripe_ctl(bus, azx_dev->substream);
+ else
+ stripe_ctl = 0;
+ snd_hdac_stream_updateb(azx_dev, SD_CTL_3B, SD_CTL_STRIPE_MASK,
+ stripe_ctl);
+ }
/* set DMA start and interrupt mask */
snd_hdac_stream_updateb(azx_dev, SD_CTL,
0, SD_CTL_DMA_START | SD_INT_MASK);
@@ -118,7 +120,10 @@ void snd_hdac_stream_clear(struct hdac_stream *azx_dev)
snd_hdac_stream_updateb(azx_dev, SD_CTL,
SD_CTL_DMA_START | SD_INT_MASK, 0);
snd_hdac_stream_writeb(azx_dev, SD_STS, SD_INT_MASK); /* to be sure */
- snd_hdac_stream_updateb(azx_dev, SD_CTL_3B, SD_CTL_STRIPE_MASK, 0);
+ if (azx_dev->stripe) {
+ snd_hdac_stream_updateb(azx_dev, SD_CTL_3B, SD_CTL_STRIPE_MASK, 0);
+ azx_dev->stripe = 0;
+ }
azx_dev->running = false;
}
EXPORT_SYMBOL_GPL(snd_hdac_stream_clear);
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: broken sound since 5.4.3
2019-12-19 20:59 broken sound since 5.4.3 Stefani Seibold
@ 2019-12-19 22:24 ` Laura Abbott
2019-12-20 6:28 ` Greg KH
2019-12-20 7:30 ` Stefani Seibold
0 siblings, 2 replies; 4+ messages in thread
From: Laura Abbott @ 2019-12-19 22:24 UTC (permalink / raw)
To: Stefani Seibold, gregkh, stable
On 12/19/19 3:59 PM, Stefani Seibold wrote:
> Hi,
>
> the current Linux Kernel is going kills my speakers of my monitor.
>
> Audio level is always 100 at percent.
>
> I broke down the issue to the following patch:
>
> diff --git a/sound/hda/hdac_stream.c b/sound/hda/hdac_stream.c
> index d8fe7ff0cd58..f9707fb05efe 100644
> --- a/sound/hda/hdac_stream.c
> +++ b/sound/hda/hdac_stream.c
> @@ -96,12 +96,14 @@ void snd_hdac_stream_start(struct hdac_stream *azx_dev, bool fresh_start)
> 1 << azx_dev->index,
> 1 << azx_dev->index);
> /* set stripe control */
> - if (azx_dev->substream)
> - stripe_ctl = snd_hdac_get_stream_stripe_ctl(bus, azx_dev->substream);
> - else
> - stripe_ctl = 0;
> - snd_hdac_stream_updateb(azx_dev, SD_CTL_3B, SD_CTL_STRIPE_MASK,
> - stripe_ctl);
> + if (azx_dev->stripe) {
> + if (azx_dev->substream)
> + stripe_ctl = snd_hdac_get_stream_stripe_ctl(bus, azx_dev->substream);
> + else
> + stripe_ctl = 0;
> + snd_hdac_stream_updateb(azx_dev, SD_CTL_3B, SD_CTL_STRIPE_MASK,
> + stripe_ctl);
> + }
> /* set DMA start and interrupt mask */
> snd_hdac_stream_updateb(azx_dev, SD_CTL,
> 0, SD_CTL_DMA_START | SD_INT_MASK);
> @@ -118,7 +120,10 @@ void snd_hdac_stream_clear(struct hdac_stream *azx_dev)
> snd_hdac_stream_updateb(azx_dev, SD_CTL,
> SD_CTL_DMA_START | SD_INT_MASK, 0);
> snd_hdac_stream_writeb(azx_dev, SD_STS, SD_INT_MASK); /* to be sure */
> - snd_hdac_stream_updateb(azx_dev, SD_CTL_3B, SD_CTL_STRIPE_MASK, 0);
> + if (azx_dev->stripe) {
> + snd_hdac_stream_updateb(azx_dev, SD_CTL_3B, SD_CTL_STRIPE_MASK, 0);
> + azx_dev->stripe = 0;
> + }
> azx_dev->running = false;
> }
> EXPORT_SYMBOL_GPL(snd_hdac_stream_clear);
>
>
>
I think this is fixed by 6fd739c04ffd ("ALSA: hda: Fix regression by strip mask fix")
This is already tagged for stable but it would be nice to pick it up sooner.
Thanks,
Laura
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: broken sound since 5.4.3
2019-12-19 22:24 ` Laura Abbott
@ 2019-12-20 6:28 ` Greg KH
2019-12-20 7:30 ` Stefani Seibold
1 sibling, 0 replies; 4+ messages in thread
From: Greg KH @ 2019-12-20 6:28 UTC (permalink / raw)
To: Laura Abbott; +Cc: Stefani Seibold, stable
On Thu, Dec 19, 2019 at 05:24:20PM -0500, Laura Abbott wrote:
> On 12/19/19 3:59 PM, Stefani Seibold wrote:
> > Hi,
> >
> > the current Linux Kernel is going kills my speakers of my monitor.
> >
> > Audio level is always 100 at percent.
> >
> > I broke down the issue to the following patch:
> >
> > diff --git a/sound/hda/hdac_stream.c b/sound/hda/hdac_stream.c
> > index d8fe7ff0cd58..f9707fb05efe 100644
> > --- a/sound/hda/hdac_stream.c
> > +++ b/sound/hda/hdac_stream.c
> > @@ -96,12 +96,14 @@ void snd_hdac_stream_start(struct hdac_stream *azx_dev, bool fresh_start)
> > 1 << azx_dev->index,
> > 1 << azx_dev->index);
> > /* set stripe control */
> > - if (azx_dev->substream)
> > - stripe_ctl = snd_hdac_get_stream_stripe_ctl(bus, azx_dev->substream);
> > - else
> > - stripe_ctl = 0;
> > - snd_hdac_stream_updateb(azx_dev, SD_CTL_3B, SD_CTL_STRIPE_MASK,
> > - stripe_ctl);
> > + if (azx_dev->stripe) {
> > + if (azx_dev->substream)
> > + stripe_ctl = snd_hdac_get_stream_stripe_ctl(bus, azx_dev->substream);
> > + else
> > + stripe_ctl = 0;
> > + snd_hdac_stream_updateb(azx_dev, SD_CTL_3B, SD_CTL_STRIPE_MASK,
> > + stripe_ctl);
> > + }
> > /* set DMA start and interrupt mask */
> > snd_hdac_stream_updateb(azx_dev, SD_CTL,
> > 0, SD_CTL_DMA_START | SD_INT_MASK);
> > @@ -118,7 +120,10 @@ void snd_hdac_stream_clear(struct hdac_stream *azx_dev)
> > snd_hdac_stream_updateb(azx_dev, SD_CTL,
> > SD_CTL_DMA_START | SD_INT_MASK, 0);
> > snd_hdac_stream_writeb(azx_dev, SD_STS, SD_INT_MASK); /* to be sure */
> > - snd_hdac_stream_updateb(azx_dev, SD_CTL_3B, SD_CTL_STRIPE_MASK, 0);
> > + if (azx_dev->stripe) {
> > + snd_hdac_stream_updateb(azx_dev, SD_CTL_3B, SD_CTL_STRIPE_MASK, 0);
> > + azx_dev->stripe = 0;
> > + }
> > azx_dev->running = false;
> > }
> > EXPORT_SYMBOL_GPL(snd_hdac_stream_clear);
> >
> >
> >
>
> I think this is fixed by 6fd739c04ffd ("ALSA: hda: Fix regression by strip mask fix")
> This is already tagged for stable but it would be nice to pick it up sooner.
Now queued up, thanks.
greg k-h
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: broken sound since 5.4.3
2019-12-19 22:24 ` Laura Abbott
2019-12-20 6:28 ` Greg KH
@ 2019-12-20 7:30 ` Stefani Seibold
1 sibling, 0 replies; 4+ messages in thread
From: Stefani Seibold @ 2019-12-20 7:30 UTC (permalink / raw)
To: Laura Abbott, gregkh, stable
Success, this will fix the regression. Thank you for the support and
merry christmas :-)
Am Donnerstag, den 19.12.2019, 17:24 -0500 schrieb Laura Abbott:
> On 12/19/19 3:59 PM, Stefani Seibold wrote:
> > Hi,
> >
> > the current Linux Kernel is going kills my speakers of my monitor.
> >
> > Audio level is always 100 at percent.
> >
> > I broke down the issue to the following patch:
> >
> > diff --git a/sound/hda/hdac_stream.c b/sound/hda/hdac_stream.c
> > index d8fe7ff0cd58..f9707fb05efe 100644
> > --- a/sound/hda/hdac_stream.c
> > +++ b/sound/hda/hdac_stream.c
> > @@ -96,12 +96,14 @@ void snd_hdac_stream_start(struct hdac_stream
> > *azx_dev, bool fresh_start)
> > 1 << azx_dev->index,
> > 1 << azx_dev->index);
> > /* set stripe control */
> > - if (azx_dev->substream)
> > - stripe_ctl = snd_hdac_get_stream_stripe_ctl(bus,
> > azx_dev->substream);
> > - else
> > - stripe_ctl = 0;
> > - snd_hdac_stream_updateb(azx_dev, SD_CTL_3B, SD_CTL_STRIPE_MASK,
> > - stripe_ctl);
> > + if (azx_dev->stripe) {
> > + if (azx_dev->substream)
> > + stripe_ctl =
> > snd_hdac_get_stream_stripe_ctl(bus, azx_dev->substream);
> > + else
> > + stripe_ctl = 0;
> > + snd_hdac_stream_updateb(azx_dev, SD_CTL_3B,
> > SD_CTL_STRIPE_MASK,
> > + stripe_ctl);
> > + }
> > /* set DMA start and interrupt mask */
> > snd_hdac_stream_updateb(azx_dev, SD_CTL,
> > 0, SD_CTL_DMA_START | SD_INT_MASK);
> > @@ -118,7 +120,10 @@ void snd_hdac_stream_clear(struct hdac_stream
> > *azx_dev)
> > snd_hdac_stream_updateb(azx_dev, SD_CTL,
> > SD_CTL_DMA_START | SD_INT_MASK, 0);
> > snd_hdac_stream_writeb(azx_dev, SD_STS, SD_INT_MASK); /* to be
> > sure */
> > - snd_hdac_stream_updateb(azx_dev, SD_CTL_3B, SD_CTL_STRIPE_MASK,
> > 0);
> > + if (azx_dev->stripe) {
> > + snd_hdac_stream_updateb(azx_dev, SD_CTL_3B,
> > SD_CTL_STRIPE_MASK, 0);
> > + azx_dev->stripe = 0;
> > + }
> > azx_dev->running = false;
> > }
> > EXPORT_SYMBOL_GPL(snd_hdac_stream_clear);
> >
> >
> >
>
> I think this is fixed by 6fd739c04ffd ("ALSA: hda: Fix regression by
> strip mask fix")
> This is already tagged for stable but it would be nice to pick it up
> sooner.
>
> Thanks,
> Laura
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-12-20 7:30 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-19 20:59 broken sound since 5.4.3 Stefani Seibold
2019-12-19 22:24 ` Laura Abbott
2019-12-20 6:28 ` Greg KH
2019-12-20 7:30 ` Stefani Seibold
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.