diff mbox

vfio: Fix vfio_rtl8168_quirk_data_read address offset

Message ID 4cad93cd-9762-896f-c858-b9480340524e@gmx.de (mailing list archive)
State New, archived
Headers show

Commit Message

Thorsten Kohfeldt Oct. 9, 2016, 5:56 p.m. UTC
From: Thorsten Kohfeldt <mailto__qemu-devel@nongnu.org>
Date: Sat, 24 Sep 2016 20:43:20 +0200
Subject: [PATCH] vfio: 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: Thorsten Kohfeldt <mailto__qemu-devel@nongnu.org>
---
  hw/vfio/pci-quirks.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Alex Williamson Oct. 10, 2016, 3:18 p.m. UTC | #1
On Sun, 9 Oct 2016 19:56:03 +0200
Thorsten Kohfeldt <thorsten.kohfeldt@gmx.de> wrote:

> From: Thorsten Kohfeldt <mailto__qemu-devel@nongnu.org>
> Date: Sat, 24 Sep 2016 20:43:20 +0200
> Subject: [PATCH] vfio: 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: Thorsten Kohfeldt <mailto__qemu-devel@nongnu.org>

I need a real email address for these, can I replace this with your
gmx.de email?  Thanks,

Alex

> ---
>   hw/vfio/pci-quirks.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/vfio/pci-quirks.c b/hw/vfio/pci-quirks.c
> index bec694c..1e97bc4 100644
> --- a/hw/vfio/pci-quirks.c
> +++ b/hw/vfio/pci-quirks.c
> @@ -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;
Thorsten Kohfeldt Oct. 12, 2016, 6:14 p.m. UTC | #2
Am 10.10.2016 um 17:18 schrieb Alex Williamson:
> On Sun, 9 Oct 2016 19:56:03 +0200
> Thorsten Kohfeldt <thorsten.kohfeldt@gmx.de> wrote:
>
>> From: Thorsten Kohfeldt <mailto__qemu-devel@nongnu.org>
>> Date: Sat, 24 Sep 2016 20:43:20 +0200
>> Subject: [PATCH] vfio: 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: Thorsten Kohfeldt <mailto__qemu-devel@nongnu.org>
>
> I need a real email address for these, can I replace this with your
> gmx.de email?  Thanks,
>
> Alex

Yes, thank you for taking over from here.

Regards,

Thorsten

>> ---
>>   hw/vfio/pci-quirks.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/hw/vfio/pci-quirks.c b/hw/vfio/pci-quirks.c
>> index bec694c..1e97bc4 100644
>> --- a/hw/vfio/pci-quirks.c
>> +++ b/hw/vfio/pci-quirks.c
>> @@ -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;
>
>
diff mbox

Patch

diff --git a/hw/vfio/pci-quirks.c b/hw/vfio/pci-quirks.c
index bec694c..1e97bc4 100644
--- a/hw/vfio/pci-quirks.c
+++ b/hw/vfio/pci-quirks.c
@@ -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;