[alsa-devel] Intel HDA Driver - Bug
Steven King
steven.king.80 at gmail.com
Thu Jul 26 17:32:00 CEST 2007
Hi,
I have been trying to get the sound on my Dell Inspiron 1720 laptop
running under Debian Etch (STAC 9205). Originally, I could only get
sound through the main speakers, there was no headphone sound or mic.
I downloaded the latest alsa-drivers package (1.0.14), compiled it and
installed it. I received the following messages (and the device would
not register itself):
hda_intel: azx_get_response timeout, switching to polling mode...
hda_intel: azx_get_response timeout, switching to single_cmd mode...
I started digging into the driver code and found an issue with one of
the routines going outside an array.
The offending code is (all in patch_sigmatel):
static void stac92xx_set_config_regs(struct hda_codec *codec)
{
// ...
for (i = 0; i < spec->num_pins; i++) {
// ...
}
And in:
static int patch_stac9205(struct hda_codec *codec)
{
// ..
spec->num_pins = 14 ; //ERROR
// ..
}
However, there are only 12 pins with 12 corresponding NIDs and default
configuration so in stac92xx_set_config_regs it accesses
spec->pin_configs[i] and spec->pin_nids[i] outside of bounds.
Fix: Add a define (STAC_9205_MAX_PINS = 12) and use for array defines
and num_pins.
The driver loads now, but I still only have sound out the main
speaker. If I get rid of the configuration sent to the chipset
altogether. I get sound through Headphone and Speakers (with detect
working on HP), but still no MIC.
How can I add support for my Dell as I don't know the configuration to
use or am I missing something here?
Thanks,
Steve
More information about the Alsa-devel
mailing list