[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-stable] [PATCH 4/4] intel-hda: fix position buffer
From: |
Gerd Hoffmann |
Subject: |
[Qemu-stable] [PATCH 4/4] intel-hda: fix position buffer |
Date: |
Mon, 9 Dec 2013 15:06:14 +0100 |
Fix position buffer updates to use the correct stream offset.
Without this patch both IN (record) and OUT (playback) streams
will update the IN buffer positions. The linux kernel notices
and complains:
hda-intel: Invalid position buffer, using LPIB read method instead.
The bug may also lead to glitches when recording and playing
at the same time:
https://bugzilla.redhat.com/show_bug.cgi?id=947785
Cc: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>
---
hw/audio/intel-hda.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/audio/intel-hda.c b/hw/audio/intel-hda.c
index 4327264..6ab8c24 100644
--- a/hw/audio/intel-hda.c
+++ b/hw/audio/intel-hda.c
@@ -444,6 +444,7 @@ static bool intel_hda_xfer(HDACodecDevice *dev, uint32_t
stnr, bool output,
}
}
if (d->dp_lbase & 0x01) {
+ s = st - d->st;
addr = intel_hda_addr(d->dp_lbase & ~0x01, d->dp_ubase);
stl_le_pci_dma(&d->pci, addr + 8*s, st->lpib);
}
--
1.8.3.1
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-stable] [PATCH 4/4] intel-hda: fix position buffer,
Gerd Hoffmann <=