All of lore.kernel.org
 help / color / mirror / Atom feed
* 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.