Bug 17922

Summary: pm_qos_add_request Oops
Product: Drivers Reporter: Pavel Kysilka (goldenfish)
Component: Sound(ALSA)Assignee: Jaroslav Kysela (perex)
Status: RESOLVED CODE_FIX    
Severity: normal CC: a.terekhov, alan, helmut.schaa, rui.zhang, tiwai
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.36-rc3 Subsystem:
Regression: No Bisected commit-id:
Bug Depends on:    
Bug Blocks: 56331    
Attachments: bzip2 attachment: aplay -l, lsmod, lspci -v, dmesg
Add midding pm_qos_remove_request()
Revised patch

Description Pavel Kysilka 2010-09-06 12:19:09 UTC
Created attachment 29132 [details]
bzip2 attachment: aplay -l, lsmod, lspci -v, dmesg

Sound module crash or computer freeze with this oops:

BUG: unable to handle kernel NULL pointer dereference at 00000006
IP: [<c1169611>] plist_add+0x39/0x74
*pde = 00000000 
Oops: 0000 [#1] SMP 
last sysfs file: /sys/devices/pci0000:00/0000:00:1e.0/0000:06:01.0/sound/card0/uevent
Modules linked in: snd_ice1724 tcp_diag inet_diag binfmt_misc battery ipv6 cpufreq_ondemand cpufreq_stats cpufreq_userspace cpufreq_conservative cpufreq_powersave loop snd_ice17xx_ak4xxx snd_ac97_codec ac97_bus snd_ak4xxx_adda snd_ak4114 snd_pt2258 snd_i2c snd_ak4113 snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event option i915 drm_kms_helper usb_wwan usbserial snd_seq snd_timer snd_seq_device drm snd i2c_algo_bit uhci_hcd soundcore tpm_tis video rtc_cmos ehci_hcd tpm snd_page_alloc output rtc_core psmouse tpm_bios rtc_lib i2c_i801 usbcore evdev i2c_core processor thermal button [last unloaded: snd_ice1724]

Pid: 3299, comm: mplayer Not tainted 2.6.36-rc1+ #102 D915GAV                        /        
EIP: 0060:[<c1169611>] EFLAGS: 00210016 CPU: 0
EIP is at plist_add+0x39/0x74
EAX: 00000002 EBX: 00000002 ECX: 00000101 EDX: 00000006
ESI: f6af81b4 EDI: c1436bc8 EBP: f67b3bb8 ESP: f67b3bac
 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Process mplayer (pid: 3299, ti=f67b2000 task=f710aca0 task.ti=f67b2000)
Stack:
 f6af81b4 c1436bc8 00000c54 f67b3bd8 c1048107 00000000 00200286 c1436bd0
<0> f6af81b4 c1436bc8 f6af81b4 f67b3bec c10482dc ffffffff 00001f40 01770000
<0> f67b3c0c f821a275 0005d000 f67b3c0c f6af8180 f299cc00 f6af8180 f299cc00
Call Trace:
 [<c1048107>] ? update_target+0x8c/0xd9
 [<c10482dc>] ? pm_qos_add_request+0x59/0x61
 [<f821a275>] ? snd_pcm_hw_params+0x282/0x2de [snd_pcm]
 [<f821a66e>] ? snd_pcm_common_ioctl1+0x220/0xfff [snd_pcm]
 [<f821e2c5>] ? snd_pcm_lib_ioctl+0x18b/0x1ae [snd_pcm]
 [<f8219fb5>] ? snd_pcm_hw_refine+0x4e1/0x51f [snd_pcm]
 [<f821d64e>] ? snd_pcm_hw_param_first+0x18d/0x1c0 [snd_pcm]
 [<f82b60c7>] ? snd_pcm_hw_param_near+0x327/0x356 [snd_pcm_oss]
 [<f821bb26>] ? snd_pcm_playback_ioctl1+0x350/0x3a8 [snd_pcm]
 [<f821bbe9>] ? snd_pcm_kernel_ioctl+0x38/0x5f [snd_pcm]
 [<f82b6b2d>] ? snd_pcm_oss_change_params+0xa37/0xdb5 [snd_pcm_oss]
 [<c116882c>] ? kobject_get+0x12/0x17
 [<f82b75ec>] ? snd_pcm_oss_get_active_substream+0x29/0x70 [snd_pcm_oss]
 [<f82b76bd>] ? snd_pcm_oss_get_formats+0x11/0x103 [snd_pcm_oss]
 [<c10a779b>] ? path_put+0x20/0x23
 [<c10aa4de>] ? do_filp_open+0x3df/0x433
 [<f82b8284>] ? snd_pcm_oss_ioctl+0x3f4/0xb7b [snd_pcm_oss]
 [<f82b7e90>] ? snd_pcm_oss_ioctl+0x0/0xb7b [snd_pcm_oss]
 [<c10ab538>] ? do_vfs_ioctl+0x41f/0x463
 [<c10aa569>] ? set_close_on_exec+0x21/0x3e
 [<c10aabc2>] ? do_fcntl+0x151/0x3cd
 [<c10ab5a8>] ? sys_ioctl+0x2c/0x45
 [<c1002810>] ? sysenter_do_call+0x12/0x26
Code: 46 0c 74 0f ba 51 00 00 00 b8 4b 33 3c c1 e8 9a 55 ec ff 8b 07 8d 58 fc eb 11 8b 03 39 06 7c 19 8d 42 fc 75 04 89 c3 eb 24 89 c3 <8b> 53 04 0f 18 02 90 8d 43 04 39 c7 75 e1 8d 4e 04 8b 53 08 89 
EIP: [<c1169611>] plist_add+0x39/0x74 SS:ESP 0068:f67b3bac
CR2: 0000000000000006
---[ end trace e32a90be6a13143f ]---


Reproducibility:

1) unload and load this module by command:

rmmod snd-hda-intel;rmmod snd-ice1724;modprobe snd-ice1724

2) Play sound with mplayer

Bug found first in kernel 2.6.36-rc1 .
Comment 1 Zhang Rui 2010-09-14 01:28:39 UTC
Re-assign this bug as it is either a pm qos issue or a bug in sound card driver.
Comment 2 Takashi Iwai 2010-09-14 06:26:54 UTC
First off, try later rc release, since there were fixes in pm_qos.
Also, try the patch below.
Comment 3 Takashi Iwai 2010-09-14 06:28:46 UTC
Created attachment 29912 [details]
Add midding pm_qos_remove_request()
Comment 4 Alex Terekhov 2010-09-15 18:15:53 UTC
Hello Takashi
I have the same issue, I've tried your patch on last rc4, but looks like it doesn't help.
Comment 5 Takashi Iwai 2010-09-16 20:56:07 UTC
Hm, strange, we got a positive result on ML.
Could you double-check?
Comment 6 Takashi Iwai 2010-09-16 21:14:37 UTC
Actually, what I merged now is a slightly different one.  Check rather with the patch below.
Comment 7 Takashi Iwai 2010-09-16 21:16:11 UTC
Created attachment 30292 [details]
Revised patch
Comment 8 Alex Terekhov 2010-09-17 21:55:31 UTC
(In reply to comment #6)
> Actually, what I merged now is a slightly different one.  Check rather with
> the
> patch below.

Hi, Takashi!

I've checked your last patch, it seems that it helps me. I've tried load/unload module many times, so kernel doesn't make oops.
Comment 9 Pavel Kysilka 2010-09-18 17:12:31 UTC
I tested the last patch and it works.
Comment 10 Takashi Iwai 2010-09-20 16:08:30 UTC
Thanks.  The patch was merged into Linus tree.