[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <cdb8ea1d-0bd6-ec1d-e72f-0298f286170a@mida.se>
Date: Thu, 7 Oct 2021 13:44:06 +0200
From: rkardell <rkardell@...a.se>
To: linux-media@...r.kernel.org
Cc: Mauro Carvalho Chehab <mchehab@...nel.org>,
linux-kernel@...r.kernel.org
Subject: [PATCH] media: dvb: mt352, change i2c read buffer from stack, to
kernel space
Solve problem with initialization of Mega Sky 580 USB DVB (and other
using mt352), error when reading i2c id.
Signed-off-by: rkl099 <rkardell@...a.se>
---
drivers/media/dvb-frontends/mt352.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/media/dvb-frontends/mt352.c
b/drivers/media/dvb-frontends/mt352.c
index 399d5c519..d7f33558d 100644
--- a/drivers/media/dvb-frontends/mt352.c
+++ b/drivers/media/dvb-frontends/mt352.c
@@ -69,7 +69,7 @@ static int mt352_read_register(struct mt352_state*
state, u8 reg)
{
int ret;
u8 b0 [] = { reg };
- u8 b1 [] = { 0 };
+ u8 *b1=kmalloc(1,GFP_KERNEL);
struct i2c_msg msg [] = { { .addr = state->config.demod_address,
.flags = 0,
.buf = b0, .len = 1 },
@@ -82,12 +82,15 @@ static int mt352_read_register(struct mt352_state*
state, u8 reg)
if (ret != 2) {
printk("%s: readreg error (reg=%d, ret==%i)\n",
__func__, reg, ret);
+ kfree(b1);
return ret;
}
-
- return b1[0];
+ ret=b1[0];
+ kfree(b1);
+ return ret;
}
+
static int mt352_sleep(struct dvb_frontend* fe)
{
static u8 mt352_softdown[] = { CLOCK_CTL, 0x20, 0x08 };
--
2.30.2
Powered by blists - more mailing lists