From: Erik Andr?n Date: Thu, 8 Jan 2009 07:04:19 +0000 (-0300) Subject: V4L/DVB (11461): gspca - m5602-po1030: Probe read only register at probe time X-Git-Tag: v2.6.31-rc1~297^2~409 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=fcb981080a08c033cf6f1e7e5c4ff706a37a659d;p=karo-tx-linux.git V4L/DVB (11461): gspca - m5602-po1030: Probe read only register at probe time Currently, we're probing r/w registers at probe time. This is potentially dangerous, probe some read only registers instead. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/video/gspca/m5602/m5602_po1030.c b/drivers/media/video/gspca/m5602/m5602_po1030.c index 0547841b2cb6..122c777c71c5 100644 --- a/drivers/media/video/gspca/m5602/m5602_po1030.c +++ b/drivers/media/video/gspca/m5602/m5602_po1030.c @@ -140,7 +140,7 @@ static void po1030_dump_registers(struct sd *sd); int po1030_probe(struct sd *sd) { - u8 prod_id = 0, ver_id = 0, i; + u8 dev_id_h = 0, dev_id_l = 0, i; s32 *sensor_settings; if (force_sensor) { @@ -165,13 +165,13 @@ int po1030_probe(struct sd *sd) m5602_write_bridge(sd, preinit_po1030[i][1], data); } - if (m5602_read_sensor(sd, 0x3, &prod_id, 1)) + if (m5602_read_sensor(sd, PO1030_DEVID_H, &dev_id_h, 1)) return -ENODEV; - if (m5602_read_sensor(sd, 0x4, &ver_id, 1)) + if (m5602_read_sensor(sd, PO1030_DEVID_L, &dev_id_l, 1)) return -ENODEV; - if ((prod_id == 0x02) && (ver_id == 0xef)) { + if ((dev_id_h == 0x10) && (dev_id_l == 0x30)) { info("Detected a po1030 sensor"); goto sensor_found; }