media: ddbridge: detach first input if the second one failed to init
authorDaniel Scheller <d.scheller@gmx.net>
Sun, 17 Dec 2017 15:40:48 +0000 (10:40 -0500)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Tue, 19 Dec 2017 12:17:50 +0000 (07:17 -0500)
In ddb_ports_attach(), if the second input of a dual tuner failed to
initialise, the first one can be detached (and resources be freed) as
this will be counted as the whole port having failed to initialise,
thus the first one won't be used anyway.

Signed-off-by: Daniel Scheller <d.scheller@gmx.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/pci/ddbridge/ddbridge-core.c

index e68ca00..d2e1c99 100644 (file)
@@ -1935,8 +1935,10 @@ static int ddb_port_attach(struct ddb_port *port)
                if (ret < 0)
                        break;
                ret = dvb_input_attach(port->input[1]);
-               if (ret < 0)
+               if (ret < 0) {
+                       dvb_input_detach(port->input[0]);
                        break;
+               }
                port->input[0]->redi = port->input[0];
                port->input[1]->redi = port->input[1];
                break;