mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-11 15:14:03 +08:00
[media] staging: media: omap4iss: Cleanup media entities after unregistration
The ipipeif, ipipe and resizer media entities are cleaned up before unregistering the media device, creating a race condition. Fix it by cleaning them up at cleanup time. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
parent
e831cd251f
commit
9d9104fb9d
@ -516,8 +516,6 @@ static int ipipe_init_entities(struct iss_ipipe_device *ipipe)
|
||||
|
||||
void omap4iss_ipipe_unregister_entities(struct iss_ipipe_device *ipipe)
|
||||
{
|
||||
media_entity_cleanup(&ipipe->subdev.entity);
|
||||
|
||||
v4l2_device_unregister_subdev(&ipipe->subdev);
|
||||
}
|
||||
|
||||
@ -566,5 +564,7 @@ int omap4iss_ipipe_init(struct iss_device *iss)
|
||||
*/
|
||||
void omap4iss_ipipe_cleanup(struct iss_device *iss)
|
||||
{
|
||||
/* FIXME: are you sure there's nothing to do? */
|
||||
struct iss_ipipe_device *ipipe = &iss->ipipe;
|
||||
|
||||
media_entity_cleanup(&ipipe->subdev.entity);
|
||||
}
|
||||
|
@ -771,8 +771,6 @@ static int ipipeif_init_entities(struct iss_ipipeif_device *ipipeif)
|
||||
|
||||
void omap4iss_ipipeif_unregister_entities(struct iss_ipipeif_device *ipipeif)
|
||||
{
|
||||
media_entity_cleanup(&ipipeif->subdev.entity);
|
||||
|
||||
v4l2_device_unregister_subdev(&ipipeif->subdev);
|
||||
omap4iss_video_unregister(&ipipeif->video_out);
|
||||
}
|
||||
@ -826,5 +824,7 @@ int omap4iss_ipipeif_init(struct iss_device *iss)
|
||||
*/
|
||||
void omap4iss_ipipeif_cleanup(struct iss_device *iss)
|
||||
{
|
||||
/* FIXME: are you sure there's nothing to do? */
|
||||
struct iss_ipipeif_device *ipipeif = &iss->ipipeif;
|
||||
|
||||
media_entity_cleanup(&ipipeif->subdev.entity);
|
||||
}
|
||||
|
@ -815,8 +815,6 @@ static int resizer_init_entities(struct iss_resizer_device *resizer)
|
||||
|
||||
void omap4iss_resizer_unregister_entities(struct iss_resizer_device *resizer)
|
||||
{
|
||||
media_entity_cleanup(&resizer->subdev.entity);
|
||||
|
||||
v4l2_device_unregister_subdev(&resizer->subdev);
|
||||
omap4iss_video_unregister(&resizer->video_out);
|
||||
}
|
||||
@ -870,5 +868,7 @@ int omap4iss_resizer_init(struct iss_device *iss)
|
||||
*/
|
||||
void omap4iss_resizer_cleanup(struct iss_device *iss)
|
||||
{
|
||||
/* FIXME: are you sure there's nothing to do? */
|
||||
struct iss_resizer_device *resizer = &iss->resizer;
|
||||
|
||||
media_entity_cleanup(&resizer->subdev.entity);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user