From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: No speaker output with kernel 3.15 and later Date: Mon, 14 Jul 2014 16:22:14 +0200 Message-ID: References: <1404050996.31259.2.camel@snewbury.org.uk> <1404215372.2290.0.camel@snewbury.org.uk> <1404747250.1983.1.camel@snewbury.org.uk> <1404749138.20227.0.camel@snewbury.org.uk> <1405120845.1570.1.camel@snewbury.org.uk> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by alsa0.perex.cz (Postfix) with ESMTP id D8016261A66 for ; Mon, 14 Jul 2014 16:22:14 +0200 (CEST) In-Reply-To: <1405120845.1570.1.camel@snewbury.org.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: Steven Newbury Cc: Anssi Hannula , alsa-devel@alsa-project.org List-Id: alsa-devel@alsa-project.org At Sat, 12 Jul 2014 00:20:45 +0100, Steven Newbury wrote: > > > The patch below does revert conditionally only for Intel controller > > chips. This should work instead of git revert. Let me know if it > > really works for you. > > > Indeed t works. OK, I queued the fix, with Cc to stable now. > > But, we still want to understand why. Maybe assigning the device > > manually to an explicit value and figuring out which dev# doesn't > > work > > would be helpful. > How do you want me to test this? Specify directly the stream number assigned to a PCM playback. Change dev to a different value, and see whether it works while keep nums = 1. dev = 0 is reserved for the capture stream, so use other values. Test this only with onboard analog, and better to avoid PulseAudio. Fixated numbers would break HDMI audio badly. thanks, Takashi --- diff --git a/sound/pci/hda/hda_controller.c b/sound/pci/hda/hda_controller.c index 06f39c126ba4..8e570f44367f 100644 --- a/sound/pci/hda/hda_controller.c +++ b/sound/pci/hda/hda_controller.c @@ -178,8 +178,8 @@ azx_assign_device(struct azx *chip, struct snd_pcm_substream *substream) (substream->stream + 1); if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { - dev = chip->playback_index_offset; - nums = chip->playback_streams; + dev = 4; + nums = 1; } else { dev = chip->capture_index_offset; nums = chip->capture_streams;