This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/cgit.cgi/media_tree.git tree:
Subject: [media] staging: media: omap4iss: Cleanup media entities after unregistration Author: Laurent Pinchart <[email protected]> Date: Thu Dec 11 10:23:57 2014 -0300 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 <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]> drivers/staging/media/omap4iss/iss_ipipe.c | 6 +++--- drivers/staging/media/omap4iss/iss_ipipeif.c | 6 +++--- drivers/staging/media/omap4iss/iss_resizer.c | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) --- http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=9d9104fb9db90f7d806b1f0ba270c209b8d4fa25 diff --git a/drivers/staging/media/omap4iss/iss_ipipe.c b/drivers/staging/media/omap4iss/iss_ipipe.c index ff1d8cf..eaa82da 100644 --- a/drivers/staging/media/omap4iss/iss_ipipe.c +++ b/drivers/staging/media/omap4iss/iss_ipipe.c @@ -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); } diff --git a/drivers/staging/media/omap4iss/iss_ipipeif.c b/drivers/staging/media/omap4iss/iss_ipipeif.c index 8000bd3..530ac84 100644 --- a/drivers/staging/media/omap4iss/iss_ipipeif.c +++ b/drivers/staging/media/omap4iss/iss_ipipeif.c @@ -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); } diff --git a/drivers/staging/media/omap4iss/iss_resizer.c b/drivers/staging/media/omap4iss/iss_resizer.c index ded9066..5f69012 100644 --- a/drivers/staging/media/omap4iss/iss_resizer.c +++ b/drivers/staging/media/omap4iss/iss_resizer.c @@ -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); } _______________________________________________ linuxtv-commits mailing list [email protected] http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
