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

From: Jason Wang
Date: Tue Oct 29 2019 - 06:43:51 EST



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