From: Andrew Scull Date: Thu, 21 Apr 2022 16:11:00 +0000 (+0000) Subject: virtio: pci: Fix discovery of device config length X-Git-Url: http://git.dujemihanovic.xyz/login.html?a=commitdiff_plain;h=da03cdfa7a3454a6d66d4ae873525ea2409baf06;p=u-boot.git virtio: pci: Fix discovery of device config length The length of the device config was erroneously being taken from the notify capability. Correct this by finding the length in the device capability. Fixes: 550435edf810 ("virtio: pci: Support non-legacy PCI transport device") Signed-off-by: Andrew Scull Reviewed-by: Bin Meng --- diff --git a/drivers/virtio/virtio_pci_modern.c b/drivers/virtio/virtio_pci_modern.c index fd8a1f3fec..55d25cb81b 100644 --- a/drivers/virtio/virtio_pci_modern.c +++ b/drivers/virtio/virtio_pci_modern.c @@ -497,7 +497,7 @@ static int virtio_pci_probe(struct udevice *udev) */ device = virtio_pci_find_capability(udev, VIRTIO_PCI_CAP_DEVICE_CFG); if (device) { - offset = notify + offsetof(struct virtio_pci_cap, length); + offset = device + offsetof(struct virtio_pci_cap, length); dm_pci_read_config32(udev, offset, &priv->device_len); }