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.ailus@xxxxxxxxxxxxxxx> > --- > 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? > v4l2_device_unregister(&cio2->v4l2_dev); > - media_device_unregister(&cio2->media_dev); > media_device_cleanup(&cio2->media_dev); > mutex_destroy(&cio2->lock); > }