diff options
author | Erik Andr?n <erik.andren@gmail.com> | 2009-01-08 02:04:19 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-06-16 17:20:26 -0400 |
commit | fcb981080a08c033cf6f1e7e5c4ff706a37a659d (patch) | |
tree | 12c9f701df5978566531de1cc3eb8c7e48ba56cf | |
parent | 31e1715f9765206711c3a10556428e9d8fa2acad (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.c | 8 |
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 | ||
141 | int po1030_probe(struct sd *sd) | 141 | int 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 | } |