2013-07-16 22:58:19

by Alban Browaeys

[permalink] [raw]
Subject: [PATCH 1/4] [media] em28xx: fix assignment of the eeprom data.

Set the config structure pointer to the eeprom data pointer (data,
here eedata dereferenced) not the pointer to the pointer to
the eeprom data (eedata itself).

Signed-off-by: Alban Browaeys <[email protected]>
---
drivers/media/usb/em28xx/em28xx-i2c.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/usb/em28xx/em28xx-i2c.c b/drivers/media/usb/em28xx/em28xx-i2c.c
index 4851cc2..c4ff973 100644
--- a/drivers/media/usb/em28xx/em28xx-i2c.c
+++ b/drivers/media/usb/em28xx/em28xx-i2c.c
@@ -726,7 +726,7 @@ static int em28xx_i2c_eeprom(struct em28xx *dev, unsigned bus,

*eedata = data;
*eedata_len = len;
- dev_config = (void *)eedata;
+ dev_config = (void *)*eedata;

switch (le16_to_cpu(dev_config->chip_conf) >> 4 & 0x3) {
case 0:
--
1.8.3.2


2013-07-26 13:24:09

by Hans Verkuil

[permalink] [raw]
Subject: Re: [PATCH 1/4] [media] em28xx: fix assignment of the eeprom data.

Ouch. I'll take this for 3.11 and CC linux-stable for 3.10.

I'm amazed that this hasn't been discovered earlier.

Thanks!

Hans

On 07/17/2013 12:57 AM, Alban Browaeys wrote:
> Set the config structure pointer to the eeprom data pointer (data,
> here eedata dereferenced) not the pointer to the pointer to
> the eeprom data (eedata itself).
>
> Signed-off-by: Alban Browaeys <[email protected]>
> ---
> drivers/media/usb/em28xx/em28xx-i2c.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/usb/em28xx/em28xx-i2c.c b/drivers/media/usb/em28xx/em28xx-i2c.c
> index 4851cc2..c4ff973 100644
> --- a/drivers/media/usb/em28xx/em28xx-i2c.c
> +++ b/drivers/media/usb/em28xx/em28xx-i2c.c
> @@ -726,7 +726,7 @@ static int em28xx_i2c_eeprom(struct em28xx *dev, unsigned bus,
>
> *eedata = data;
> *eedata_len = len;
> - dev_config = (void *)eedata;
> + dev_config = (void *)*eedata;
>
> switch (le16_to_cpu(dev_config->chip_conf) >> 4 & 0x3) {
> case 0:
>