Commit 31e6a7b1 authored by Thorsten Kohfeldt's avatar Thorsten Kohfeldt Committed by Alex Williamson
Browse files

vfio/pci: Fix vfio_rtl8168_quirk_data_read address offset



Introductory comment for rtl8168 VFIO MSI-X quirk states:
At BAR2 offset 0x70 there is a dword data register,
         offset 0x74 is a dword address register.
vfio: vfio_bar_read(0000:05:00.0:BAR2+0x70, 4) = 0xfee00398 // read data

Thus, correct offset for data read is 0x70,
but function vfio_rtl8168_quirk_data_read() wrongfully uses offset 0x74.

Signed-off-by: default avatarThorsten Kohfeldt <thorsten.kohfeldt@gmx.de>
Signed-off-by: default avatarAlex Williamson <alex.williamson@redhat.com>
parent 4a946268
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -898,7 +898,7 @@ static uint64_t vfio_rtl8168_quirk_data_read(void *opaque,
{
    VFIOrtl8168Quirk *rtl = opaque;
    VFIOPCIDevice *vdev = rtl->vdev;
    uint64_t data = vfio_region_read(&vdev->bars[2].region, addr + 0x74, size);
    uint64_t data = vfio_region_read(&vdev->bars[2].region, addr + 0x70, size);

    if (rtl->enabled && (vdev->pdev.cap_present & QEMU_PCI_CAP_MSIX)) {
        hwaddr offset = rtl->addr & 0xfff;