[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: Gert-Jan van der Stroom <gjstroom@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
parent
99a85b901e
commit
8a26a258bd
|
@ -712,7 +712,7 @@ static int dvb_frontend_thread(void *data)
|
|||
/* FIXME: return an error if it fails */
|
||||
dev_info(fe->dvb->device,
|
||||
"proceeding with FE task\n");
|
||||
} else {
|
||||
} else if (fepriv->pipe_start_entity) {
|
||||
ret = media_entity_pipeline_start(fepriv->pipe_start_entity,
|
||||
&fepriv->pipe);
|
||||
if (ret)
|
||||
|
@ -830,7 +830,8 @@ static int dvb_frontend_thread(void *data)
|
|||
}
|
||||
|
||||
#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;
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue