Messages in this thread Patch in this message | | | From | rkardell <> | Subject | [PATCH] media: dvb: qt1010, change i2c read buffer from stack, to kernel space | Date | Thu, 7 Oct 2021 14:29:00 +0200 |
| |
Solve problem with initialization of Mega Sky 580 USB DVB (and other using mt352), error when reading i2c id.
Signed-off-by: rkl099 <rkardell@mida.se> --- drivers/media/tuners/qt1010.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/media/tuners/qt1010.c b/drivers/media/tuners/qt1010.c index 3853a3d43..1bc0756f7 100644 --- a/drivers/media/tuners/qt1010.c +++ b/drivers/media/tuners/qt1010.c @@ -11,18 +11,22 @@ /* read single register */ static int qt1010_readreg(struct qt1010_priv *priv, u8 reg, u8 *val) { + u8 *b1=kmalloc(1,GFP_KERNEL); struct i2c_msg msg[2] = { { .addr = priv->cfg->i2c_address, .flags = 0, .buf = ®, .len = 1 }, { .addr = priv->cfg->i2c_address, - .flags = I2C_M_RD, .buf = val, .len = 1 }, + .flags = I2C_M_RD, .buf = b1, .len = 1 }, };
if (i2c_transfer(priv->i2c, msg, 2) != 2) { dev_warn(&priv->i2c->dev, "%s: i2c rd failed reg=%02x\n", KBUILD_MODNAME, reg); + kfree(b1); return -EREMOTEIO; } + *val=b1[0]; + kfree(b1); return 0; }
-- 2.30.2
| |