diff options
author | Sakari Ailus <[email protected]> | 2018-10-10 04:01:05 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <[email protected]> | 2018-11-06 07:11:36 -0500 |
commit | 32388d6ef7cffc7d8291b67f8dfa26acd45217fd (patch) | |
tree | ff171517d00b57f627ce46823356bf25a5cec99c | |
parent | 30efae3d789cd0714ef795545a46749236e29558 (diff) |
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 <[email protected]>
Tested-by: Bingbu Cao <[email protected]>
Reviewed-by: Bingbu Cao <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
-rw-r--r-- | drivers/media/pci/intel/ipu3/ipu3-cio2.c | 4 |
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); } |