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
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:
>