From 71a8dffb07ae40af87b2f7b93dcd5810e2c558bf Mon Sep 17 00:00:00 2001
From: Andrew de Quincey <adq_dvb@lidskialf.net>
Date: Thu, 6 Apr 2006 09:42:46 -0300
Subject: [PATCH] V4L/DVB (3740): Fix oops in budget-av with CI

Now that the CI code reinitialises the frontend, need to move the CI
initialisation to after the frontend init in order to ensure the frontend is
always in a good state. Fixes an oops caused by the frontend being NULL as
well.

Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---
 drivers/media/dvb/ttpci/budget-av.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/media/dvb/ttpci/budget-av.c b/drivers/media/dvb/ttpci/budget-av.c
index 8efe3ce5f66c..8a7cd7d505cf 100644
--- a/drivers/media/dvb/ttpci/budget-av.c
+++ b/drivers/media/dvb/ttpci/budget-av.c
@@ -1190,8 +1190,6 @@ static int budget_av_attach(struct saa7146_dev *dev, struct saa7146_pci_extensio
 						SAA7146_HPS_SYNC_PORT_A);
 
 		saa7113_setinput(budget_av, 0);
-	} else {
-		ciintf_init(budget_av);
 	}
 
 	/* fixme: find some sane values here... */
@@ -1211,6 +1209,10 @@ static int budget_av_attach(struct saa7146_dev *dev, struct saa7146_pci_extensio
 	budget_av->budget.dvb_adapter.priv = budget_av;
 	frontend_init(budget_av);
 
+	if (!budget_av->has_saa7113) {
+		ciintf_init(budget_av);
+	}
+
 	return 0;
 }
 
-- 
GitLab