From: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Date: Tue, 20 Nov 2007 02:43:13 +0000 (-0300)
Subject: V4L/DVB (6652): xc2028: try non-8MHZ init1 firmware
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=1ad0b796a3fa3d1c1a7d16be7c70b626da2940a9;p=linux.git

V4L/DVB (6652): xc2028: try non-8MHZ init1 firmware

When loading init1 firmware, there may not be an 8MHz specific version.
Load the non-8MHz version if it exists.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---

diff --git a/drivers/media/video/tuner-xc2028.c b/drivers/media/video/tuner-xc2028.c
index 5b646fed340fc..429e81be697e3 100644
--- a/drivers/media/video/tuner-xc2028.c
+++ b/drivers/media/video/tuner-xc2028.c
@@ -706,6 +706,9 @@ retry:
 	tuner_dbg("Load init1 firmware, if exists\n");
 
 	rc = load_firmware(fe, BASE | INIT1 | new_fw.type, &std0);
+	if (rc == -ENOENT)
+		rc = load_firmware(fe, (BASE | INIT1 | new_fw.type) & ~F8MHZ,
+				   &std0);
 	if (rc < 0 && rc != -ENOENT) {
 		tuner_err("Error %d while loading init1 firmware\n",
 			  rc);