Re: [PATCH v2] vsock/virtio: set vsock frontend ready in virtio_vsock_probe()
From: Xianting Tian <hidden>
Date: 2021-07-20 08:37:13
Also in:
kvm, lkml
thanks for the findings. Let me make furture patches to make consistent. 在 2021/7/20 下午3:54, Jason Wang 写道:
quoted hunk ↗ jump to hunk
在 2021/7/20 下午3:13, Xianting Tian 写道:quoted
Add the missed virtio_device_ready() to set vsock frontend ready. Signed-off-by: Xianting Tian <redacted> --- net/vmw_vsock/virtio_transport.c | 2 ++ 1 file changed, 2 insertions(+)diff --git a/net/vmw_vsock/virtio_transport.cb/net/vmw_vsock/virtio_transport.c index e0c2c992a..dc834b8fd 100644--- a/net/vmw_vsock/virtio_transport.c +++ b/net/vmw_vsock/virtio_transport.c@@ -639,6 +639,8 @@ static int virtio_vsock_probe(structvirtio_device *vdev) mutex_unlock(&the_virtio_vsock_mutex); + virtio_device_ready(vdev); + return 0; out:Just notice this: commit 5b40a7daf51812b35cf05d1601a779a7043f8414 Author: Rusty Russell [off-list ref] Date: Tue Feb 17 16:12:44 2015 +1030 virtio: don't set VIRTIO_CONFIG_S_DRIVER_OK twice. I noticed this with the console device. It's not *wrong*, just a bit weird. Signed-off-by: Rusty Russell [off-list ref]diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c index b9f70dfc4751..5ce2aa48fc6e 100644 --- a/drivers/virtio/virtio.c +++ b/drivers/virtio/virtio.c@@ -236,7 +236,10 @@ static int virtio_dev_probe(struct device *_d)if (err) goto err; - add_status(dev, VIRTIO_CONFIG_S_DRIVER_OK); + /* If probe didn't do it, mark device DRIVER_OK ourselves. */ + if (!(dev->config->get_status(dev) & VIRTIO_CONFIG_S_DRIVER_OK)) + virtio_device_ready(dev); + if (drv->scan) drv->scan(dev); So I think we need to be consistent: switch to use virtio_device_ready() for all the drivers, and then we can remove this step and warn if (DRIVER_OK) is not set. Thanks