At Tue, 18 Oct 2011 10:38:06 +0200, Éric Piel wrote:
Op 18-10-11 10:23, Takashi Iwai schreef:
At Tue, 18 Oct 2011 10:10:14 +0200, Éric Piel wrote:
:
If that commit affects, the best fix would be to give a quirk specific to your device. Try to pass either position_fix=1 or position_fix=2. Only one of them should work (likely 2).
After checking it, you can add it to position_fix_list[] in sound/pci/hda/hda_intel.c together with PCI SSID.
Hello, Thanks for the quick response. Indeed forcing position_fix=1 does fix the bug. I'll not try to make a patch for my device.
Hm, interesting. So, in your case, the position-buffer exists and reports some valid values, but the values are sloppy actually. It's hard to detect in the driver, unfortunately. The relevant commit (and its original fix) were the attempts to detect better, but it seems that it fails...
FWIW, the patch below is what I'm committing to the tree.
thanks,
Takashi
--- From: Takashi Iwai tiwai@suse.de Subject: [PATCH] ALSA: hda - Add position_fix quirk for Dell Inspiron 1010
The previous fix for the position-buffer check gives yet another regression on a Dell laptop. The safest fix right now is to add a static quirk for this device (and better to apply it for stable kernels too).
Reported-by: Éric Piel Eric.Piel@tremplin-utc.net Cc: stable@kernel.org Signed-off-by: Takashi Iwai tiwai@suse.de --- sound/pci/hda/hda_intel.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index e9a2a87..191284a 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -2370,6 +2370,7 @@ static int azx_dev_free(struct snd_device *device) static struct snd_pci_quirk position_fix_list[] __devinitdata = { SND_PCI_QUIRK(0x1028, 0x01cc, "Dell D820", POS_FIX_LPIB), SND_PCI_QUIRK(0x1028, 0x01de, "Dell Precision 390", POS_FIX_LPIB), + SND_PCI_QUIRK(0x1028, 0x02c6, "Dell Inspiron 1010", POS_FIX_LPIB), SND_PCI_QUIRK(0x103c, 0x306d, "HP dv3", POS_FIX_LPIB), SND_PCI_QUIRK(0x1043, 0x813d, "ASUS P5AD2", POS_FIX_LPIB), SND_PCI_QUIRK(0x1043, 0x81b3, "ASUS", POS_FIX_LPIB),