On 10/15/2018 04:39 PM, Sakari Ailus wrote:
> Hi Bingbu,
>
> On Mon, Oct 15, 2018 at 03:15:05PM +0800, Bing Bu Cao wrote:
>> On 10/10/2018 04:32 PM, Sakari Ailus wrote:
>>> While there are issues related to object lifetime management, unregister
>>> the media device first, followed immediately by other device nodes when
>>> the driver is being unbound. Only then the resources needed by the driver
>>> may be released. This is slightly safer.
>>>
>>> Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>
>>> ---
>>>  drivers/media/pci/intel/ipu3/ipu3-cio2.c | 4 ++--
>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/media/pci/intel/ipu3/ipu3-cio2.c 
>>> b/drivers/media/pci/intel/ipu3/ipu3-cio2.c
>>> index 452eb9b42140..723022ef3662 100644
>>> --- a/drivers/media/pci/intel/ipu3/ipu3-cio2.c
>>> +++ b/drivers/media/pci/intel/ipu3/ipu3-cio2.c
>>> @@ -1846,12 +1846,12 @@ static void cio2_pci_remove(struct pci_dev *pci_dev)
>>>     struct cio2_device *cio2 = pci_get_drvdata(pci_dev);
>>>     unsigned int i;
>>>  
>>> +   media_device_unregister(&cio2->media_dev);
>>>     cio2_notifier_exit(cio2);
>>> -   cio2_fbpt_exit_dummy(cio2);
>>>     for (i = 0; i < CIO2_QUEUES; i++)
>>>             cio2_queue_exit(cio2, &cio2->queue[i]);
>>> +   cio2_fbpt_exit_dummy(cio2);
>> Hi, Sakari,
>> The fbpt dummy pages cleanup does not matter much before/after queues
>> exit, right?
> cio2_queue_exit() will unregister the video device and the video buffer
> queue. Up to this point it's possible to open the video device and start
> streaming on it. While this patch does not fully address the issue it makes
> it a slightly lesser issue.
Okay, thanks for your explanation.
>>>     v4l2_device_unregister(&cio2->v4l2_dev);
>>> -   media_device_unregister(&cio2->media_dev);
>>>     media_device_cleanup(&cio2->media_dev);
>>>     mutex_destroy(&cio2->lock);
>>>  }

Reply via email to