Re: [PATCH V5 4/6] mdev: introduce virtio device and its device ops

From: Zhu Lingshan
Date: Wed Oct 30 2019 - 03:36:50 EST


On 10/29/2019 6:42 PM, Jason Wang wrote:
On 2019/10/29 äå3:42, Zhu Lingshan wrote:
+ÂÂÂ void (*set_status)(struct mdev_device *mdev, u8 status);
Hi Jason

Is it possible to make set_status() return an u8 or bool, because this
may fail in real hardware. Without a returned code, I am not sure
whether it is a good idea to set the status | NEED_RESET when fail.

Thanks,
BR
Zhu Lingshan

Hi:


It's possible but I'm not sure whether any user will care about it. E.g
see virtio_add_status():

void virtio_add_status(struct virtio_device *dev, unsigned int status)
{
ÂÂÂ might_sleep();
ÂÂÂ dev->config->set_status(dev, dev->config->get_status(dev) | status);
}
EXPORT_SYMBOL_GPL(virtio_add_status);

And I believe how it work should be:

virtio_add_status(xyz);

status = virtio_get_status();

if (!(status & xyz))

ÂÂÂ error;

Thanks

Thanks Jason, then I believe upper layer can handle this well.