[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v13 12/22] vfio: Add notifier callback to parent
From: |
Dong Jia Shi |
Subject: |
Re: [Qemu-devel] [PATCH v13 12/22] vfio: Add notifier callback to parent's ops structure of mdev |
Date: |
Wed, 16 Nov 2016 14:37:59 +0800 |
User-agent: |
Mutt/1.7.0 (2016-08-17) |
* Kirti Wankhede <address@hidden> [2016-11-15 20:59:55 +0530]:
Hi Kirti,
[...]
> diff --git a/drivers/vfio/mdev/vfio_mdev.c b/drivers/vfio/mdev/vfio_mdev.c
> index ffc36758cb84..4fc63db38829 100644
> --- a/drivers/vfio/mdev/vfio_mdev.c
> +++ b/drivers/vfio/mdev/vfio_mdev.c
> @@ -24,6 +24,15 @@
> #define DRIVER_AUTHOR "NVIDIA Corporation"
> #define DRIVER_DESC "VFIO based driver for Mediated device"
>
> +static int vfio_mdev_notifier(struct notifier_block *nb, unsigned long
> action,
> + void *data)
> +{
> + struct mdev_device *mdev = container_of(nb, struct mdev_device, nb);
> + struct parent_device *parent = mdev->parent;
> +
> + return parent->ops->notifier(mdev, action, data);
> +}
> +
> static int vfio_mdev_open(void *device_data)
> {
> struct mdev_device *mdev = device_data;
> @@ -36,9 +45,18 @@ static int vfio_mdev_open(void *device_data)
> if (!try_module_get(THIS_MODULE))
> return -ENODEV;
>
> + if (likely(parent->ops->notifier)) {
> + mdev->nb.notifier_call = vfio_mdev_notifier;
> + if (vfio_register_notifier(&mdev->dev, &mdev->nb))
> + pr_err("Failed to register notifier for mdev\n");
I think we should just return here if the error value is not -ENOTTY.
> + }
> +
> ret = parent->ops->open(mdev);
> - if (ret)
> + if (ret) {
> + if (likely(parent->ops->notifier))
> + vfio_unregister_notifier(&mdev->dev, &mdev->nb);
> module_put(THIS_MODULE);
> + }
>
> return ret;
> }
[...]
--
Dong Jia
- Re: [Qemu-devel] [PATCH v13 11/22] vfio iommu: Add blocking notifier to notify DMA_UNMAP, (continued)
- Re: [Qemu-devel] [PATCH v13 11/22] vfio iommu: Add blocking notifier to notify DMA_UNMAP, Kirti Wankhede, 2016/11/15
- Re: [Qemu-devel] [PATCH v13 11/22] vfio iommu: Add blocking notifier to notify DMA_UNMAP, Alex Williamson, 2016/11/15
- Re: [Qemu-devel] [PATCH v13 11/22] vfio iommu: Add blocking notifier to notify DMA_UNMAP, Alex Williamson, 2016/11/15
- Re: [Qemu-devel] [PATCH v13 11/22] vfio iommu: Add blocking notifier to notify DMA_UNMAP, Kirti Wankhede, 2016/11/15
- Re: [Qemu-devel] [PATCH v13 11/22] vfio iommu: Add blocking notifier to notify DMA_UNMAP, Alex Williamson, 2016/11/15
- Re: [Qemu-devel] [PATCH v13 11/22] vfio iommu: Add blocking notifier to notify DMA_UNMAP, Kirti Wankhede, 2016/11/15
- Re: [Qemu-devel] [PATCH v13 11/22] vfio iommu: Add blocking notifier to notify DMA_UNMAP, Alex Williamson, 2016/11/15
- Re: [Qemu-devel] [PATCH v13 11/22] vfio iommu: Add blocking notifier to notify DMA_UNMAP, Kirti Wankhede, 2016/11/16
[Qemu-devel] [PATCH v13 13/22] vfio: Introduce common function to add capabilities, Kirti Wankhede, 2016/11/15
[Qemu-devel] [PATCH v13 12/22] vfio: Add notifier callback to parent's ops structure of mdev, Kirti Wankhede, 2016/11/15
- Re: [Qemu-devel] [PATCH v13 12/22] vfio: Add notifier callback to parent's ops structure of mdev,
Dong Jia Shi <=
[Qemu-devel] [PATCH v13 15/22] vfio: Introduce vfio_set_irqs_validate_and_prepare(), Kirti Wankhede, 2016/11/15
[Qemu-devel] [PATCH v13 14/22] vfio_pci: Update vfio_pci to use vfio_info_add_capability(), Kirti Wankhede, 2016/11/15
[Qemu-devel] [PATCH v13 16/22] vfio_pci: Updated to use vfio_set_irqs_validate_and_prepare(), Kirti Wankhede, 2016/11/15
[Qemu-devel] [PATCH v13 17/22] vfio_platform: Updated to use vfio_set_irqs_validate_and_prepare(), Kirti Wankhede, 2016/11/15
[Qemu-devel] [PATCH v13 18/22] vfio: Define device_api strings, Kirti Wankhede, 2016/11/15
[Qemu-devel] [PATCH v13 19/22] docs: Add Documentation for Mediated devices, Kirti Wankhede, 2016/11/15
[Qemu-devel] [PATCH v13 20/22] docs: Sysfs ABI for mediated device framework, Kirti Wankhede, 2016/11/15
[Qemu-devel] [PATCH v13 21/22] docs: Sample driver to demonstrate how to use Mediated device framework., Kirti Wankhede, 2016/11/15