diff options
author | Nickolai Zeldovich <nickolai@csail.mit.edu> | 2013-01-06 19:52:03 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-02-05 16:19:44 -0500 |
commit | a46edeb0f6098088f316c3543474784f8108508e (patch) | |
tree | b875976a8c6f9c70fd647fe532c661da872ad476 /drivers/media | |
parent | 7e20f6bfc47992d93b36f4ed068782f8726b75a3 (diff) |
[media] media: cx18, ivtv: eliminate unnecessary array index checks
The idx values passed to cx18_i2c_register() and ivtv_i2c_register()
by cx18_init_subdevs() and ivtv_load_and_init_modules() respectively
are always in-range, based on how the hw_all bitmask is populated.
Previously, the checks were already ineffective because arrays were
being dereferenced using the index before the check.
Acked-by: Andy Walls <awalls@md.metrocast.net>
Signed-off-by: Nickolai Zeldovich <nickolai@csail.mit.edu>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/pci/cx18/cx18-i2c.c | 3 | ||||
-rw-r--r-- | drivers/media/pci/ivtv/ivtv-i2c.c | 2 |
2 files changed, 0 insertions, 5 deletions
diff --git a/drivers/media/pci/cx18/cx18-i2c.c b/drivers/media/pci/cx18/cx18-i2c.c index d61ac6393e7e..4af8cd6df95d 100644 --- a/drivers/media/pci/cx18/cx18-i2c.c +++ b/drivers/media/pci/cx18/cx18-i2c.c | |||
@@ -116,9 +116,6 @@ int cx18_i2c_register(struct cx18 *cx, unsigned idx) | |||
116 | const char *type = hw_devicenames[idx]; | 116 | const char *type = hw_devicenames[idx]; |
117 | u32 hw = 1 << idx; | 117 | u32 hw = 1 << idx; |
118 | 118 | ||
119 | if (idx >= ARRAY_SIZE(hw_addrs)) | ||
120 | return -1; | ||
121 | |||
122 | if (hw == CX18_HW_TUNER) { | 119 | if (hw == CX18_HW_TUNER) { |
123 | /* special tuner group handling */ | 120 | /* special tuner group handling */ |
124 | sd = v4l2_i2c_new_subdev(&cx->v4l2_dev, | 121 | sd = v4l2_i2c_new_subdev(&cx->v4l2_dev, |
diff --git a/drivers/media/pci/ivtv/ivtv-i2c.c b/drivers/media/pci/ivtv/ivtv-i2c.c index a1811054fde4..ceed2d87abfd 100644 --- a/drivers/media/pci/ivtv/ivtv-i2c.c +++ b/drivers/media/pci/ivtv/ivtv-i2c.c | |||
@@ -267,8 +267,6 @@ int ivtv_i2c_register(struct ivtv *itv, unsigned idx) | |||
267 | const char *type = hw_devicenames[idx]; | 267 | const char *type = hw_devicenames[idx]; |
268 | u32 hw = 1 << idx; | 268 | u32 hw = 1 << idx; |
269 | 269 | ||
270 | if (idx >= ARRAY_SIZE(hw_addrs)) | ||
271 | return -1; | ||
272 | if (hw == IVTV_HW_TUNER) { | 270 | if (hw == IVTV_HW_TUNER) { |
273 | /* special tuner handling */ | 271 | /* special tuner handling */ |
274 | sd = v4l2_i2c_new_subdev(&itv->v4l2_dev, adap, type, 0, | 272 | sd = v4l2_i2c_new_subdev(&itv->v4l2_dev, adap, type, 0, |