diff options
author | Jonathan Nieder <jrnieder@gmail.com> | 2011-12-31 06:08:45 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-01-06 09:50:17 -0500 |
commit | 5584c641be9e4ff812443511363a72edaa5ceeaa (patch) | |
tree | f3ba8db91b3db4cff7a8cee82ae2dea8a20b0e7c | |
parent | 2dbbac330621e83d00e904d1139b62e7b360f946 (diff) |
[media] dm1105: handle errors from dvb_net_init
Clean up and error out if dvb_net_init fails (for example due to
ENOMEM). This involves moving the dvb_net_init call to before
frontend_init to make cleaning up a little easier.
From an audit of dvb_net_init callers, now that dvb_net_init lets
callers know about errors.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/dvb/dm1105/dm1105.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/media/dvb/dm1105/dm1105.c b/drivers/media/dvb/dm1105/dm1105.c index 55e6533f15e..70e040b999e 100644 --- a/drivers/media/dvb/dm1105/dm1105.c +++ b/drivers/media/dvb/dm1105/dm1105.c | |||
@@ -1115,11 +1115,14 @@ static int __devinit dm1105_probe(struct pci_dev *pdev, | |||
1115 | if (ret < 0) | 1115 | if (ret < 0) |
1116 | goto err_remove_mem_frontend; | 1116 | goto err_remove_mem_frontend; |
1117 | 1117 | ||
1118 | ret = dvb_net_init(dvb_adapter, &dev->dvbnet, dmx); | ||
1119 | if (ret < 0) | ||
1120 | goto err_disconnect_frontend; | ||
1121 | |||
1118 | ret = frontend_init(dev); | 1122 | ret = frontend_init(dev); |
1119 | if (ret < 0) | 1123 | if (ret < 0) |
1120 | goto err_disconnect_frontend; | 1124 | goto err_disconnect_frontend; |
1121 | 1125 | ||
1122 | dvb_net_init(dvb_adapter, &dev->dvbnet, dmx); | ||
1123 | dm1105_ir_init(dev); | 1126 | dm1105_ir_init(dev); |
1124 | 1127 | ||
1125 | INIT_WORK(&dev->work, dm1105_dmx_buffer); | 1128 | INIT_WORK(&dev->work, dm1105_dmx_buffer); |