[media] firedtv: handle errors from dvb_net_init
It is not common for dvb_net_init to fail, but after the patch "dvb_net_init: return -errno on error" it can fail due to running out of memory. Handle this. From an audit of dvb_net_init callers. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Reviewed-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
60826f0269
commit
f1d99f39fb
|
@ -203,7 +203,9 @@ int fdtv_dvb_register(struct firedtv *fdtv, const char *name)
|
||||||
if (err)
|
if (err)
|
||||||
goto fail_rem_frontend;
|
goto fail_rem_frontend;
|
||||||
|
|
||||||
dvb_net_init(&fdtv->adapter, &fdtv->dvbnet, &fdtv->demux.dmx);
|
err = dvb_net_init(&fdtv->adapter, &fdtv->dvbnet, &fdtv->demux.dmx);
|
||||||
|
if (err)
|
||||||
|
goto fail_disconnect_frontend;
|
||||||
|
|
||||||
fdtv_frontend_init(fdtv, name);
|
fdtv_frontend_init(fdtv, name);
|
||||||
err = dvb_register_frontend(&fdtv->adapter, &fdtv->fe);
|
err = dvb_register_frontend(&fdtv->adapter, &fdtv->fe);
|
||||||
|
@ -218,6 +220,7 @@ int fdtv_dvb_register(struct firedtv *fdtv, const char *name)
|
||||||
|
|
||||||
fail_net_release:
|
fail_net_release:
|
||||||
dvb_net_release(&fdtv->dvbnet);
|
dvb_net_release(&fdtv->dvbnet);
|
||||||
|
fail_disconnect_frontend:
|
||||||
fdtv->demux.dmx.close(&fdtv->demux.dmx);
|
fdtv->demux.dmx.close(&fdtv->demux.dmx);
|
||||||
fail_rem_frontend:
|
fail_rem_frontend:
|
||||||
fdtv->demux.dmx.remove_frontend(&fdtv->demux.dmx, &fdtv->frontend);
|
fdtv->demux.dmx.remove_frontend(&fdtv->demux.dmx, &fdtv->frontend);
|
||||||
|
|
Loading…
Reference in New Issue