When the media device registration fails, don't call media_device_unregister
since the device was never actually registered.
When removing the module also call media_device_cleanup() to avoid a memory leak.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
        return 0;
 
 unreg_dev:
-#ifdef CONFIG_MEDIA_CONTROLLER
-       media_device_unregister(&dev->mdev);
-#endif
        video_unregister_device(&dev->radio_tx_dev);
        video_unregister_device(&dev->radio_rx_dev);
        video_unregister_device(&dev->sdr_cap_dev);
 
 #ifdef CONFIG_MEDIA_CONTROLLER
                media_device_unregister(&dev->mdev);
+               media_device_cleanup(&dev->mdev);
 #endif
 
                if (dev->has_vid_cap) {