Enabled code to check if the version of the firmware reported by the hardware
is correct after uploading it.

Signed-off-by: Istvan Varga <istva...@mailbox.hu>

diff -uNr xc4000_orig/drivers/media/common/tuners/xc4000.c 
xc4000/drivers/media/common/tuners/xc4000.c
--- xc4000_orig/drivers/media/common/tuners/xc4000.c    2011-06-06 
14:40:53.000000000 +0200
+++ xc4000/drivers/media/common/tuners/xc4000.c 2011-06-06 15:01:25.000000000 
+0200
@@ -919,7 +919,7 @@
        struct xc4000_priv         *priv = fe->tuner_priv;
        struct firmware_properties new_fw;
        int                        rc = 0, is_retry = 0;
-       u16                        version = 0, hwmodel;
+       u16                        hwmodel;
        v4l2_std_id                std0;
        u8                         hw_major, hw_minor, fw_major, fw_minor;
 
@@ -1032,23 +1032,23 @@
                hwmodel, hw_major, hw_minor, fw_major, fw_minor);
 
        /* Check firmware version against what we downloaded. */
-#ifdef DJH_DEBUG
-       if (priv->firm_version != ((version & 0xf0) << 4 | (version & 0x0f))) {
-               printk("Incorrect readback of firmware version %x.\n",
-                      (version & 0xff));
+       if (priv->firm_version != ((fw_major << 8) | fw_minor)) {
+               printk(KERN_WARNING
+                      "Incorrect readback of firmware version %d.%d.\n",
+                      fw_major, fw_minor);
                goto fail;
        }
-#endif
 
        /* Check that the tuner hardware model remains consistent over time. */
        if (priv->hwmodel == 0 &&
            (hwmodel == XC_PRODUCT_ID_XC4000 ||
             hwmodel == XC_PRODUCT_ID_XC4100)) {
                priv->hwmodel = hwmodel;
-               priv->hwvers  = version & 0xff00;
+               priv->hwvers = (hw_major << 8) | hw_minor;
        } else if (priv->hwmodel == 0 || priv->hwmodel != hwmodel ||
-                  priv->hwvers != (version & 0xff00)) {
-               printk("Read invalid device hardware information - tuner "
+                  priv->hwvers != ((hw_major << 8) | hw_minor)) {
+               printk(KERN_WARNING
+                      "Read invalid device hardware information - tuner "
                       "hung?\n");
                goto fail;
        }
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to