Bug 70161

Summary: SB part still working on 3.13.1 is no longer able to record or play sound on 3.14.0-rc1
Product: Drivers Reporter: dl1ksv
Component: Sound(ALSA)Assignee: Jaroslav Kysela (perex)
Status: RESOLVED CODE_FIX    
Severity: normal CC: tiwai
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 3.14.0-rc1 Subsystem:
Regression: No Bisected commit-id:
Attachments: Kernel config
Boot messages
Fix patch

Description dl1ksv 2014-02-06 16:06:09 UTC
ls -l /proc/asound

dr-xr-xr-x 2 root root 0  6. Feb 16:58 card0
dr-xr-xr-x 4 root root 0  6. Feb 16:58 card1
dr-xr-xr-x 6 root root 0  6. Feb 16:58 card2
dr-xr-xr-x 3 root root 0  6. Feb 16:58 card3
dr-xr-xr-x 3 root root 0  6. Feb 16:58 card4
-r--r--r-- 1 root root 0  6. Feb 16:58 cards
-r--r--r-- 1 root root 0  6. Feb 16:58 devices
lrwxrwxrwx 1 root root 5  6. Feb 16:58 HDMI -> card4
-r--r--r-- 1 root root 0  6. Feb 16:58 hwdep
lrwxrwxrwx 1 root root 5  6. Feb 16:58 Loopback -> card2
lrwxrwxrwx 1 root root 5  6. Feb 16:58 M44 -> card1
-r--r--r-- 1 root root 0  6. Feb 16:58 modules
-r--r--r-- 1 root root 0  6. Feb 16:58 pcm
lrwxrwxrwx 1 root root 5  6. Feb 16:58 SB -> card0
dr-xr-xr-x 2 root root 0  6. Feb 16:58 seq
-r--r--r-- 1 root root 0  6. Feb 16:58 timers
lrwxrwxrwx 1 root root 5  6. Feb 16:58 V20 -> card3
-r--r--r-- 1 root root 0  6. Feb 16:58 version

Both the same on 3.13.1 and 3.14.0-rc1

But on 3.13.1:

ls -l /proc/asound/card0

-r--r--r-- 1 root root 0  6. Feb 16:14 codec#0
-r--r--r-- 1 root root 0  6. Feb 16:14 id
dr-xr-xr-x 3 root root 0  6. Feb 16:14 pcm0c
dr-xr-xr-x 3 root root 0  6. Feb 16:14 pcm0p
dr-xr-xr-x 3 root root 0  6. Feb 16:14 pcm1p
dr-xr-xr-x 3 root root 0  6. Feb 16:14 pcm2c

but on 3.14.0-rc1 only

insgesamt 0
-r--r--r-- 1 root root 0  6. Feb 17:00 codec#0
-r--r--r-- 1 root root 0  6. Feb 17:00 id

So 
 aplay -Dplughw:0 pactor.wav 
aplay: main:722: Fehler beim Öffnen des Gerätes: Datei oder Verzeichnis nicht gefunden

But for card1 it works:

 aplay -Dplughw:1 pactor.wav 
Wiedergabe: WAVE 'pactor.wav' : Unsigned 8 bit, Rate: 11025 Hz, mono


I noticed that on 3.13.1 a module

snd_page_alloc         18710  2 snd_pcm,snd_hda_intel

is used which does not exist on 3.14.0-rc1
Comment 1 Takashi Iwai 2014-02-06 16:30:49 UTC
The snd-page-alloc stuff is integrated into snd driver itself on 3.14 kernel, so it's just a red herring.

Please give the full kernel boot message.  And, try to build with CONFIG_SND_DEBUG=y and CONFIG_SND_DEBUG_VERBOSE=y.  This might give a bit more clue.

Also, what shows "ls -l /sys/class/sound" ?
Comment 2 dl1ksv 2014-02-06 16:43:09 UTC
[    1.789719] ALSA sound/pci/hda/hda_intel.c:3390 0000:00:14.2: Using LPIB position fix
[    1.789803] ALSA sound/pci/hda/hda_intel.c:3649 0000:00:14.2: chipset global capabilities = 0x4401
[    1.789841] ALSA sound/pci/hda/hda_intel.c:1357 0000:00:14.2: Setting ATI snoop: 1
[    1.790358] ALSA sound/pci/hda/hda_intel.c:3390 0000:01:00.1: Using LPIB position fix
[    1.790425] snd_hda_intel 0000:01:00.1: irq 73 for MSI/MSI-X
[    1.790494] ALSA sound/pci/hda/hda_intel.c:3649 0000:01:00.1: chipset global capabilities = 0x1001



[    1.792742] ALSA sound/pci/hda/hda_intel.c:1205 0000:01:00.1: codec_mask = 0x1
[    1.793722] ALSA sound/pci/hda/hda_intel.c:1205 0000:00:14.2: codec_mask = 0x1
[    1.793860] ALSA sound/pci/hda/hda_intel.c:1678 0000:00:14.2: codec #0 probed OK
[    1.793866] ALSA sound/pci/hda/hda_intel.c:1799 0000:00:14.2: Enable sync_write for stable communication


/sys/class/sound

lrwxrwxrwx 1 root root 0  6. Feb 17:34 card0 -> ../../devices/pci0000:00/0000:00:14.2/sound/card0
lrwxrwxrwx 1 root root 0  6. Feb 17:34 card1 -> ../../devices/pci0000:00/0000:00:14.4/0000:03:06.0/sound/card1
lrwxrwxrwx 1 root root 0  6. Feb 17:36 card2 -> ../../devices/virtual/sound/card2
lrwxrwxrwx 1 root root 0  6. Feb 17:34 card3 -> ../../devices/pci0000:00/0000:00:12.0/usb4/4-3/4-3:1.0/sound/card3
lrwxrwxrwx 1 root root 0  6. Feb 17:34 card4 -> ../../devices/pci0000:00/0000:00:02.0/0000:01:00.1/sound/card4
lrwxrwxrwx 1 root root 0  6. Feb 17:36 controlC0 -> ../../devices/pci0000:00/0000:00:14.2/sound/card0/controlC0
lrwxrwxrwx 1 root root 0  6. Feb 17:36 controlC1 -> ../../devices/pci0000:00/0000:00:14.4/0000:03:06.0/sound/card1/controlC1
lrwxrwxrwx 1 root root 0  6. Feb 17:36 controlC2 -> ../../devices/virtual/sound/card2/controlC2
lrwxrwxrwx 1 root root 0  6. Feb 17:36 controlC3 -> ../../devices/pci0000:00/0000:00:12.0/usb4/4-3/4-3:1.0/sound/card3/controlC3
lrwxrwxrwx 1 root root 0  6. Feb 17:36 controlC4 -> ../../devices/pci0000:00/0000:00:02.0/0000:01:00.1/sound/card4/controlC4
lrwxrwxrwx 1 root root 0  6. Feb 17:36 hwC0D0 -> ../../devices/pci0000:00/0000:00:14.2/sound/card0/hwC0D0
lrwxrwxrwx 1 root root 0  6. Feb 17:36 hwC4D0 -> ../../devices/pci0000:00/0000:00:02.0/0000:01:00.1/sound/card4/hwC4D0
lrwxrwxrwx 1 root root 0  6. Feb 17:36 pcmC1D0c -> ../../devices/pci0000:00/0000:00:14.4/0000:03:06.0/sound/card1/pcmC1D0c
lrwxrwxrwx 1 root root 0  6. Feb 17:36 pcmC1D0p -> ../../devices/pci0000:00/0000:00:14.4/0000:03:06.0/sound/card1/pcmC1D0p
lrwxrwxrwx 1 root root 0  6. Feb 17:36 pcmC2D0c -> ../../devices/virtual/sound/card2/pcmC2D0c
lrwxrwxrwx 1 root root 0  6. Feb 17:36 pcmC2D0p -> ../../devices/virtual/sound/card2/pcmC2D0p
lrwxrwxrwx 1 root root 0  6. Feb 17:36 pcmC2D1c -> ../../devices/virtual/sound/card2/pcmC2D1c
lrwxrwxrwx 1 root root 0  6. Feb 17:36 pcmC2D1p -> ../../devices/virtual/sound/card2/pcmC2D1p
lrwxrwxrwx 1 root root 0  6. Feb 17:36 pcmC3D0c -> ../../devices/pci0000:00/0000:00:12.0/usb4/4-3/4-3:1.0/sound/card3/pcmC3D0c
lrwxrwxrwx 1 root root 0  6. Feb 17:36 pcmC4D3p -> ../../devices/pci0000:00/0000:00:02.0/0000:01:00.1/sound/card4/pcmC4D3p
lrwxrwxrwx 1 root root 0  6. Feb 17:36 timer -> ../../devices/virtual/sound/timer
Comment 3 Takashi Iwai 2014-02-06 16:51:45 UTC
I asked the *full* kernel messages.
Comment 4 Takashi Iwai 2014-02-06 16:54:26 UTC
Also, could you give your kernel config, too?
Comment 5 dl1ksv 2014-02-06 17:00:52 UTC
Created attachment 124851 [details]
Kernel config
Comment 6 dl1ksv 2014-02-06 17:01:35 UTC
Created attachment 124861 [details]
Boot messages
Comment 7 dl1ksv 2014-02-06 17:01:54 UTC
Ok, see attachments
Comment 8 Takashi Iwai 2014-02-06 17:17:30 UTC
You disabled all CONFIG_SND_HDA_CODEC_* except for CONFIG_SND_HDA_CODEC_HDMI.  That's one of the problems.  Enable the appropriate ones (you can build all as modules), and it should work again.

OTOH, it's certainly a regression, too.  The generic parser should be enabled no matter whether the dedicated codec driver is enabled or not.  I'll take a look at it meanwhile.
Comment 9 Takashi Iwai 2014-02-06 17:18:46 UTC
OK, found the culprit.  Could you try the patch below with the original kernel config?  (Enabling CONFIG_SND_HDA_CODEC_XXX should fix, too, but I'd like to confirm that the patch also fixes the issue alone.)
Comment 10 Takashi Iwai 2014-02-06 17:19:49 UTC
Created attachment 124881 [details]
Fix patch
Comment 11 dl1ksv 2014-02-07 07:56:30 UTC
This patch solved the issue. Thanks
Comment 12 Takashi Iwai 2014-02-07 13:31:20 UTC
Thanks for testing.  The patch will be merged in 3.14-rc3 (slipped from the pull request to rc2).