Takashi Iwai wrote:
It shows the address 1. So, my patch doesn't work, as it assumes address 0. Replace it with 1, and pass probe_mask=0x02.
Takashi
Yeah great, it's working again!
I did modprobe snd-hda-intel probe_mask=0x03 instead of mask=0x02 to make it work
and the patch let this way ( I changed both return 1 and addr=1)
--- diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index d0effa3..81663a7 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.cazx_single_get_response(bus, addr); else @@ -566,6 +566,7 @@ static void azx_free_cmd_io(struct azx *chip)
static unsigned int azx_command_addr(u32 cmd) { +#if 0 /* XXX */ unsigned int addr = cmd >> 28;
if (addr >= AZX_MAX_CODECS) { @@ -574,6 +575,9 @@ static unsigned int azx_command_addr(u32 cmd) }
return addr; +#else + return 1; +#endif }
static unsigned int azx_response_addr(u32 res) @@ -818,6 +822,7 @@ static unsigned int azx_get_response(struct hda_bus *bus, unsigned int addr) { struct azx *chip = bus->private_data; + addr = 1; /* XXX */ if (chip->single_cmd) return azx_single_get_response(bus, addr); else
Thanks
Guillem Solà