Skip to content

Commit

Permalink
[media] xc4000: check firmware version
Browse files Browse the repository at this point in the history
Enabled code to check if the version of the firmware reported by the hardware
is correct after uploading it.

Signed-off-by: Istvan Varga <istvan_v@mailbox.hu>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
istvan_v@mailbox.hu authored and Mauro Carvalho Chehab committed Jul 27, 2011
1 parent 7c8ec47 commit 09f4634
Showing 1 changed file with 9 additions and 9 deletions.
18 changes: 9 additions & 9 deletions drivers/media/common/tuners/xc4000.c
Original file line number Diff line number Diff line change
Expand Up @@ -919,7 +919,7 @@ static int check_firmware(struct dvb_frontend *fe, unsigned int type,
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;

Expand Down Expand Up @@ -1032,23 +1032,23 @@ static int check_firmware(struct dvb_frontend *fe, unsigned int type,
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;
}
Expand Down

0 comments on commit 09f4634

Please sign in to comment.