aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErik Andr?n <erik.andren@gmail.com>2009-01-08 02:04:19 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-06-16 17:20:26 -0400
commitfcb981080a08c033cf6f1e7e5c4ff706a37a659d (patch)
tree12c9f701df5978566531de1cc3eb8c7e48ba56cf
parent31e1715f9765206711c3a10556428e9d8fa2acad (diff)
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 <erik.andren@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/video/gspca/m5602/m5602_po1030.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/media/video/gspca/m5602/m5602_po1030.c b/drivers/media/video/gspca/m5602/m5602_po1030.c
index 0547841b2cb..122c777c71c 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);
140 140
141int po1030_probe(struct sd *sd) 141int po1030_probe(struct sd *sd)
142{ 142{
143 u8 prod_id = 0, ver_id = 0, i; 143 u8 dev_id_h = 0, dev_id_l = 0, i;
144 s32 *sensor_settings; 144 s32 *sensor_settings;
145 145
146 if (force_sensor) { 146 if (force_sensor) {
@@ -165,13 +165,13 @@ int po1030_probe(struct sd *sd)
165 m5602_write_bridge(sd, preinit_po1030[i][1], data); 165 m5602_write_bridge(sd, preinit_po1030[i][1], data);
166 } 166 }
167 167
168 if (m5602_read_sensor(sd, 0x3, &prod_id, 1)) 168 if (m5602_read_sensor(sd, PO1030_DEVID_H, &dev_id_h, 1))
169 return -ENODEV; 169 return -ENODEV;
170 170
171 if (m5602_read_sensor(sd, 0x4, &ver_id, 1)) 171 if (m5602_read_sensor(sd, PO1030_DEVID_L, &dev_id_l, 1))
172 return -ENODEV; 172 return -ENODEV;
173 173
174 if ((prod_id == 0x02) && (ver_id == 0xef)) { 174 if ((dev_id_h == 0x10) && (dev_id_l == 0x30)) {
175 info("Detected a po1030 sensor"); 175 info("Detected a po1030 sensor");
176 goto sensor_found; 176 goto sensor_found;
177 } 177 }