Messages in this thread | | | Subject | Re: [PATCH v2] vsock/virtio: set vsock frontend ready in virtio_vsock_probe() | From | Xianting Tian <> | Date | Tue, 20 Jul 2021 16:36:53 +0800 |
| |
thanks for the findings.
Let me make furture patches to make consistent.
在 2021/7/20 下午3:54, Jason Wang 写道: > > 在 2021/7/20 下午3:13, Xianting Tian 写道: >> Add the missed virtio_device_ready() to set vsock frontend ready. >> >> Signed-off-by: Xianting Tian <xianting.tian@linux.alibaba.com> >> --- >> 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 <rusty@rustcorp.com.au> > 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 <rusty@rustcorp.com.au> > > 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
| |