Bug 5036

Summary: snd_generic_pm misses release() causes crash in drivers/base/core.c
Product: Drivers Reporter: walter (wharms)
Component: Sound(ALSA)Assignee: Jaroslav Kysela (perex)
Status: CLOSED PATCH_ALREADY_AVAILABLE    
Severity: high CC: bunk
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.12 Subsystem:
Regression: --- Bisected commit-id:

Description walter 2005-08-09 09:46:31 UTC
Distribution:
vanilla 2.6.12 and suse 2.6.11 (currensuse SUSE9.3)

Hardware Environment:
optiplex gx1 with cs432x sound chip

Software Environment:

Problem Description:
unload causes:

Aug  6 13:31:38 corleone kernel: Device 'snd_generic_pm.0' does not have a
release() function, it is broken and must be fixed.
Aug  6 13:31:38 corleone kernel: Badness in device_release at drivers/base/core.c:85
Aug  6 13:31:38 corleone kernel:  [<c01d07f9>] kobject_cleanup+0x69/0x70
Aug  6 13:31:38 corleone kernel:  [<c01d0800>] kobject_release+0x0/0x10
Aug  6 13:31:38 corleone kernel:  [<c01d1084>] kref_put+0x24/0x70
Aug  6 13:31:38 corleone kernel:  [<d0c9a4a8>]
snd_generic_device_unregister+0x8/0x20 [snd]
Aug  6 13:31:38 corleone kernel:  [<d0c99bcc>] snd_card_free+0x16c/0x260 [snd]
Aug  6 13:31:38 corleone kernel:  [<d0c9e5c8>] snd_device_disconnect+0x78/0xd0 [snd]
Aug  6 13:31:38 corleone kernel:  [<d0c9e79a>]
snd_device_disconnect_all+0x3a/0x80 [snd]
Aug  6 13:31:38 corleone kernel:  [<d0c99a08>] snd_card_disconnect+0xd8/0x130 [snd]
Aug  6 13:31:38 corleone kernel:  [<d0c99d32>] snd_card_free_in_thread+0x12/0x60
[snd]
Aug  6 13:31:38 corleone kernel:  [<c02106fb>] card_remove_first+0x4b/0x50
Aug  6 13:31:38 corleone kernel:  [<c0210fa4>] pnp_device_remove+0x34/0x40
Aug  6 13:31:38 corleone kernel:  [<c02352a7>] device_release_driver+0x57/0x60
Aug  6 13:31:38 corleone kernel:  [<c02352c8>] driver_detach+0x18/0x30
Aug  6 13:31:38 corleone kernel:  [<c02356a4>] bus_remove_driver+0x34/0x70
Aug  6 13:31:38 corleone kernel:  [<c0235b48>] driver_unregister+0x8/0x20
Aug  6 13:31:38 corleone kernel:  [<d0ce480b>] alsa_card_cs423x_exit+0xb/0x24
[snd_cs4236]
Aug  6 13:31:38 corleone kernel:  [<c012ccf4>] sys_delete_module+0x154/0x170
Aug  6 13:31:38 corleone kernel:  [<c0145f5e>] unmap_vma_list+0xe/0x20
Aug  6 13:31:38 corleone kernel:  [<c014625d>] do_munmap+0xcd/0x100
Aug  6 13:31:38 corleone kernel:  [<c0102c49>] sysenter_past_esp+0x52/0x79


Steps to reproduce:
rmmod snd-cs4236

hint:
there are 2 more entries with earliers kernel related to cs432x problems
Comment 1 Takashi Iwai 2005-09-23 04:01:52 UTC
This should have been fixed in the recent version.
Comment 2 Adrian Bunk 2006-02-15 14:31:49 UTC
Please reopen this bug if it's still present in recent 2.6 kernels.