android_kernel_motorola_sm6225/sound/pci
Adrian Knoth 88fabbfcc6 ALSA: hdspm - Restrict channel count on RME AES/AES32
Without calling an appropriate rule, AES/AES32 cards would announce a
theoretical channel count of 64 (HDSPM_MAX_CHANNELS), leading to the
already known bug:

[37422.640481] ------------[ cut here ]------------
[37422.640487] WARNING: at sound/pci/rme9652/hdspm.c:5449
snd_hdspm_ioctl+0x18f/0x202 [snd_hdspm]()
[37422.640489] Hardware name: PRIMERGY RX100 S6
[37422.640490] BUG? (info->channel >= hdspm->max_channels_in)
[37422.640492] Modules linked in: snd_hdspm snd_seq_midi ipmi_watchdog
ipmi_poweroff ipmi_si ipmi_devintf ipmi_msghandler i2c_i801 e1000e
snd_rawmidi power_meter [last unloaded: snd_hdspm]
[37422.640501] Pid: 22231, comm: jackd Tainted: G      D W
2.6.36-gentoo-r5 #5
[37422.640502] Call Trace:
[37422.640508]  [<ffffffff8103db3a>] warn_slowpath_common+0x80/0x98
[37422.640511]  [<ffffffff8103dbe6>] warn_slowpath_fmt+0x41/0x43
[37422.640514]  [<ffffffff81034306>] ? get_parent_ip+0x11/0x42
[37422.640518]  [<ffffffffa0055763>] snd_hdspm_ioctl+0x18f/0x202
[snd_hdspm]
[37422.640522]  [<ffffffff813fd626>] snd_pcm_channel_info+0x73/0x7c
[37422.640525]  [<ffffffff814001e9>] snd_pcm_common_ioctl1+0x326/0xb01
[37422.640527]  [<ffffffff81034306>] ? get_parent_ip+0x11/0x42
[37422.640531]  [<ffffffff8105be6c>] ? __srcu_read_unlock+0x3b/0x59
[37422.640533]  [<ffffffff81400bce>] snd_pcm_capture_ioctl1+0x20a/0x227
[37422.640537]  [<ffffffff811e599c>] ? file_has_perm+0x90/0x9e
[37422.640540]  [<ffffffff81400c15>] snd_pcm_capture_ioctl+0x2a/0x2e
[37422.640543]  [<ffffffff810f2c69>] do_vfs_ioctl+0x404/0x453
[37422.640546]  [<ffffffff810f2d09>] sys_ioctl+0x51/0x74
[37422.640549]  [<ffffffff81002aab>] system_call_fastpath+0x16/0x1b
[37422.640552] ---[ end trace 0cd919cd68118082 ]---

We already have all the right values in place, we simply have to inform
the upper layers about this restriction.

Note that snd_hdspm_hw_rule_rate_out_channels and
snd_hdspm_hw_rule_rate_in_channels must not be called on AES32, because
the channel count is always 16, no matter of the samplerate in use.

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-02-23 15:43:05 +01:00
..
ac97 ALSA: azt3328: hook up new emulated AC97 on AC97 patch side 2011-02-19 16:03:08 +01:00
ali5451 sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
asihpi ALSA: asihpi - HPI v4.06 2011-02-10 18:49:41 +01:00
au88x0 ALSA - au88x0 - add Playback Volume to 10 bands Equalizer Controls 2011-02-20 10:05:29 +01:00
aw2 ALSA: aw2-alsa.c: use pci_ids.h defines and fix checkpatch.pl noise 2010-05-25 08:39:28 +02:00
ca0106 sound, ca0106: Fix assignment to 'channel'. 2010-12-27 15:09:53 +01:00
cs46xx ALSA: cs46xx memory management fixes for cs46xx_dsp_spos_create() 2010-11-01 10:26:23 +01:00
cs5535audio PCI: make pci_restore_state return void 2010-12-23 12:53:09 -08:00
ctxfi ALSA: sound/pci/ctxfi/ctpcm.c: Remove potential for use after free 2010-11-11 02:03:00 +01:00
echoaudio ALSA: echoaudio: check kmalloc() result 2010-07-19 17:59:04 +02:00
emu10k1 tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
hda ALSA: hda - Fix EAPD to low on CZC P10T tablet computer with ALC662 2011-01-20 12:39:34 +01:00
ice1712 ALSA: ice1712 delta - initialize SPI clock 2011-01-18 15:25:16 +01:00
korg1212 sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
lx6464es ALSA: lx6464es - make 1 bit signed bitfield unsigned 2010-11-01 10:28:35 +01:00
mixart ALSA: sound/mixart: avoid redefining {readl,write}_{le,be} accessors 2010-11-11 02:02:20 +01:00
nm256 sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
oxygen ALSA: Xonar, CS43xx: Don't overrun static array 2011-01-22 17:24:30 +01:00
pcxhr sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
riptide ALSA: riptide - Fix detection / load of firmware files 2010-08-16 08:08:48 +02:00
rme9652 ALSA: hdspm - Restrict channel count on RME AES/AES32 2011-02-23 15:43:05 +01:00
trident fix typos concerning "initiali[zs]e" 2010-06-16 18:05:05 +02:00
vx222 sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
ymfpci ALSA: ymfpci: use enum control info helper 2011-01-10 16:47:03 +01:00
ad1889.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
ad1889.h
ak4531_codec.c
als300.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
als4000.c ALSA: als4000: Fix potentially invalid DMA mode setup 2010-08-04 23:18:33 +02:00
atiixp.c Merge branch 'fix/misc' into topic/misc 2010-02-17 14:24:46 +01:00
atiixp_modem.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
azt3328.c ALSA: azt3328: add custom AC97 semi-emulation use standard ALSA AC97 layer 2011-02-19 16:02:24 +01:00
azt3328.h ALSA: azt3328: fix previous breakage, improve suspend, cleanups 2009-07-15 12:03:26 +02:00
bt87x.c ALSA: bt87x: use enum control info helper 2011-01-10 16:46:56 +01:00
cmipci.c ALSA: cmipci: use enum control info helper 2011-01-10 16:47:00 +01:00
cs4281.c ALSA: info - Check file position validity in common layer 2010-04-13 12:01:14 +02:00
cs5530.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ens1370.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
ens1371.c
es1938.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
es1968.c tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
fm801.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
intel8x0.c ALSA: ac97: Apply quirk for Dell Latitude D610 binding Master and Headphone controls 2010-11-22 07:39:40 +01:00
intel8x0m.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
Kconfig ALSA: azt3328: add custom AC97 semi-emulation use standard ALSA AC97 layer 2011-02-19 16:02:24 +01:00
maestro3.c ALSA: maestro3: Clear interrupts before enabling them 2010-05-08 11:51:13 +02:00
Makefile ALSA: Add support of AudioScience ASI boards 2010-04-22 07:21:53 +02:00
rme32.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
rme96.c sound: Remove unnecessary casts of private_data 2010-09-07 08:05:59 +02:00
sis7019.c sis7019: increase reset delays 2010-06-28 09:42:22 +02:00
sis7019.h trivial: fix typos s/paramter/parameter/ and s/excute/execute/ in documentation and source comments. 2009-06-12 18:01:46 +02:00
sonicvibes.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
via82xx.c ALSA: via82xx: allow changing the initial DXS volume 2010-07-12 17:25:27 +02:00
via82xx_modem.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00