V4L/DVB (11076): au0828: make g_chip_ident call work properly
[linux-2.6.git] / drivers / media / video / au0828 / au0828-video.c
index 0dd1383..ce80882 100644 (file)
@@ -1348,7 +1348,15 @@ static int vidioc_g_chip_ident(struct file *file, void *priv,
        chip->ident = V4L2_IDENT_NONE;
        chip->revision = 0;
 
+       if (v4l2_chip_match_host(&chip->match)) {
+               chip->ident = V4L2_IDENT_AU0828;
+               return 0;
+       }
+
        au0828_call_i2c_clients(dev, VIDIOC_DBG_G_CHIP_IDENT, chip);
+       if (chip->ident == V4L2_IDENT_NONE)
+               return -EINVAL;
+
        return 0;
 }