aboutsummaryrefslogtreecommitdiff
path: root/drivers/media/pci
diff options
context:
space:
mode:
authorGravatar Sakari Ailus <sakari.ailus@linux.intel.com> 2018-10-10 04:01:05 -0400
committerGravatar Mauro Carvalho Chehab <mchehab+samsung@kernel.org> 2018-11-06 07:11:36 -0500
commit32388d6ef7cffc7d8291b67f8dfa26acd45217fd (patch)
treeff171517d00b57f627ce46823356bf25a5cec99c /drivers/media/pci
parentmedia: omap3isp: Unregister media device as first (diff)
downloadlinux-32388d6ef7cffc7d8291b67f8dfa26acd45217fd.tar.gz
linux-32388d6ef7cffc7d8291b67f8dfa26acd45217fd.tar.bz2
linux-32388d6ef7cffc7d8291b67f8dfa26acd45217fd.zip
media: ipu3-cio2: Unregister device nodes first, then release resources
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@linux.intel.com> Tested-by: Bingbu Cao <bingbu.cao@intel.com> Reviewed-by: Bingbu Cao <bingbu.cao@intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'drivers/media/pci')
-rw-r--r--drivers/media/pci/intel/ipu3/ipu3-cio2.c4
1 files 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);
v4l2_device_unregister(&cio2->v4l2_dev);
- media_device_unregister(&cio2->media_dev);
media_device_cleanup(&cio2->media_dev);
mutex_destroy(&cio2->lock);
}