Commit 8a26a258 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

[media] dvb core: only start media entity if not NULL

The logic there tries to start the media entity even if it
doesn't exist, causing this bug:

	[  314.356162] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010
	[  314.356202] IP: [<ffffffffa02ef74c>] media_entity_pipeline_start+0x1c/0x390 [media]
Reported-by: default avatarGert-Jan van der Stroom <gjstroom@gmail.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 99a85b90
...@@ -712,7 +712,7 @@ static int dvb_frontend_thread(void *data) ...@@ -712,7 +712,7 @@ static int dvb_frontend_thread(void *data)
/* FIXME: return an error if it fails */ /* FIXME: return an error if it fails */
dev_info(fe->dvb->device, dev_info(fe->dvb->device,
"proceeding with FE task\n"); "proceeding with FE task\n");
} else { } else if (fepriv->pipe_start_entity) {
ret = media_entity_pipeline_start(fepriv->pipe_start_entity, ret = media_entity_pipeline_start(fepriv->pipe_start_entity,
&fepriv->pipe); &fepriv->pipe);
if (ret) if (ret)
...@@ -830,7 +830,8 @@ static int dvb_frontend_thread(void *data) ...@@ -830,7 +830,8 @@ static int dvb_frontend_thread(void *data)
} }
#ifdef CONFIG_MEDIA_CONTROLLER_DVB #ifdef CONFIG_MEDIA_CONTROLLER_DVB
media_entity_pipeline_stop(fepriv->pipe_start_entity); if (fepriv->pipe_start_entity)
media_entity_pipeline_stop(fepriv->pipe_start_entity);
fepriv->pipe_start_entity = NULL; fepriv->pipe_start_entity = NULL;
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment