openamp/virtio.h: make final_features optional

negotiate also can be call when final_features is NULL

Signed-off-by: Yongrong Wang <wangyongrong@xiaomi.com>
This commit is contained in:
Yongrong Wang
2024-10-08 10:37:46 +08:00
committed by Arnaud Pouliquen
parent 4df7975ab1
commit 81ac4d3934

View File

@@ -468,14 +468,15 @@ static inline int virtio_negotiate_features(struct virtio_device *vdev,
uint32_t features,
uint32_t *final_features)
{
if (!vdev || !final_features)
if (!vdev)
return -EINVAL;
if (!vdev->func || !vdev->func->negotiate_features)
return -ENXIO;
*final_features = vdev->func->negotiate_features(vdev, features);
vdev->features = *final_features;
vdev->features = vdev->func->negotiate_features(vdev, features);
if (final_features)
*final_features = vdev->features;
return 0;
}