From 02bde3c845ed59799a88c1335f9d9464751185e6 Mon Sep 17 00:00:00 2001 From: Jacob Rampertab Date: Thu, 8 Jun 2017 14:51:14 -0700 Subject: kernel: i2c: Fix address variable size Variable being used as address was incorrect size for access, causing stack out of bounds errors. u32 resolves issue. Bug 200300101 Change-Id: Icb6ebcbeea3e49ec725ceb0253a165c615c2a879 Signed-off-by: Jacob Rampertab Reviewed-on: http://git-master/r/1498770 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: svccoveritychecker GVS: Gerrit_Virtual_Submit Reviewed-by: Sachin Nikam --- drivers/media/i2c/lc898212.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'drivers/media/i2c/lc898212.c') diff --git a/drivers/media/i2c/lc898212.c b/drivers/media/i2c/lc898212.c index d309e71d0..b88924532 100644 --- a/drivers/media/i2c/lc898212.c +++ b/drivers/media/i2c/lc898212.c @@ -281,11 +281,10 @@ static int lc898212_write_table(struct lc898212 *priv, val = next->val; if (next->addr == LC898212_WAIT_REPEAT) { - u8 data = 0; + u32 data = 0; u8 count = 0; - err = regmap_read(priv->regmap8, val, - (unsigned int *) &data); + err = regmap_read(priv->regmap8, val, &data); if (err) { pr_err("%s: regmap_read: %d\n", __func__, err); return err; @@ -297,8 +296,7 @@ static int lc898212_write_table(struct lc898212 *priv, } usleep_range(10, 20); - err = regmap_read(priv->regmap8, val, - (unsigned int *) &data); + err = regmap_read(priv->regmap8, val, &data); if (err) { pr_err("%s: regmap_read: %d\n", __func__, err); -- cgit v1.2.2