[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <56bae568-34fc-4377-77cd-d3cf9f38a772@linux.alibaba.com>
Date: Tue, 20 Jul 2021 16:36:53 +0800
From: Xianting Tian <xianting.tian@...ux.alibaba.com>
To: Jason Wang <jasowang@...hat.com>, stefanha@...hat.com,
sgarzare@...hat.com, davem@...emloft.net, kuba@...nel.org
Cc: kvm@...r.kernel.org, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] vsock/virtio: set vsock frontend ready in
virtio_vsock_probe()
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@...ux.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@...tcorp.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@...tcorp.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
Powered by blists - more mailing lists