Thread (8 messages) flat view 8 messages, 3 authors, 2021-07-21

Re: [PATCH v2] vsock/virtio: set vsock frontend ready in virtio_vsock_probe()

From: Jason Wang <hidden>
Date: 2021-07-20 07:55:29
Also in: kvm, lkml
Subsystem: the rest, virtio core · Maintainers: Linus Torvalds, "Michael S. Tsirkin", Jason Wang

在 2021/7/20 下午3:13, Xianting Tian 写道:
quoted hunk ↗ jump to hunk
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.c b/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(struct virtio_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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help