summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChen Fan <chen.fan.fnst@cn.fujitsu.com>2016-02-19 09:42:28 -0700
committerAlex Williamson <alex.williamson@redhat.com>2016-02-19 09:42:28 -0700
commit88caf177ace1063e5b566ce994f50c5b9c21998d (patch)
treedb07658ce93f79ab19466b6f737ddbe59692be3f
parent79095ef717957e24dbcba026bb21f5990ceace88 (diff)
downloadqemu-88caf177ace1063e5b566ce994f50c5b9c21998d.zip
vfio: make the 4 bytes aligned for capability size
this function search the capability from the end, the last size should 0x100 - pos, not 0xff - pos. Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com> Reviewed-by: Marcel Apfelbaum <marcel@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
-rw-r--r--hw/vfio/pci.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
index 49f3d2d239..e671506a53 100644
--- a/hw/vfio/pci.c
+++ b/hw/vfio/pci.c
@@ -1505,7 +1505,8 @@ static void vfio_unmap_bars(VFIOPCIDevice *vdev)
*/
static uint8_t vfio_std_cap_max_size(PCIDevice *pdev, uint8_t pos)
{
- uint8_t tmp, next = 0xff;
+ uint8_t tmp;
+ uint16_t next = PCI_CONFIG_SPACE_SIZE;
for (tmp = pdev->config[PCI_CAPABILITY_LIST]; tmp;
tmp = pdev->config[tmp + 1]) {