|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH RFC v2 7/7] drivers/virtio: Fix the return value checking of virtio_config_get
According to current implementation if virtio_config_get, it returns 0 if
there is no error. Thus, we can't check here since 0 != UK_NETDEV_HWADDR_LEN
Without this patch, on arm64 kvm, virtio_net device can't get the mac address
which was assigned by qemu command line.
Signed-off-by: Jia He <justin.he@xxxxxxx>
---
plat/drivers/virtio/virtio_net.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/plat/drivers/virtio/virtio_net.c b/plat/drivers/virtio/virtio_net.c
index 3025ed3..5139535 100644
--- a/plat/drivers/virtio/virtio_net.c
+++ b/plat/drivers/virtio/virtio_net.c
@@ -835,7 +835,6 @@ static __u16 virtio_net_mtu_get(struct uk_netdev *n)
static int virtio_netdev_feature_negotiate(struct virtio_net_device *vndev)
{
__u64 host_features = 0;
- __u16 hw_len;
int rc = 0;
/**
@@ -865,16 +864,14 @@ static int virtio_netdev_feature_negotiate(struct
virtio_net_device *vndev)
* virtio device in a separate header file which could be reused across
* different virtio devices.
*/
- hw_len = virtio_config_get(vndev->vdev,
+ rc = virtio_config_get(vndev->vdev,
__offsetof(struct virtio_net_config, mac),
&vndev->hw_addr.addr_bytes[0],
UK_NETDEV_HWADDR_LEN, 1);
- if (unlikely(hw_len != UK_NETDEV_HWADDR_LEN)) {
+ if (rc < 0) {
uk_pr_err("Failed to retrieve the mac address from device\n");
- rc = -EAGAIN;
goto exit;
}
- rc = 0;
/**
* Mask out features supported by both driver and device.
--
2.17.1
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |