On Tue, Sep 18, 2018 at 11:42 AM zhong jiang <zhongjiang@xxxxxxxxxx> wrote: > > kmemdup has implemented the function that kmalloc() + memcpy(). > We prefer to kmemdup rather than code opened implementation. > > Signed-off-by: zhong jiang <zhongjiang@xxxxxxxxxx> > --- > drivers/media/dvb-frontends/lgdt3306a.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/media/dvb-frontends/lgdt3306a.c b/drivers/media/dvb-frontends/lgdt3306a.c > index 0e1f5da..abec2e5 100644 > --- a/drivers/media/dvb-frontends/lgdt3306a.c > +++ b/drivers/media/dvb-frontends/lgdt3306a.c > @@ -2205,15 +2205,13 @@ static int lgdt3306a_probe(struct i2c_client *client, > struct dvb_frontend *fe; > int ret; > > - config = kzalloc(sizeof(struct lgdt3306a_config), GFP_KERNEL); > + onfig = kmemdup(client->dev.platform_data, > + sizeof(struct lgdt3306a_config), GFP_KERNEL); > if (config == NULL) { > ret = -ENOMEM; > goto fail; > } > > - memcpy(config, client->dev.platform_data, > - sizeof(struct lgdt3306a_config)); > - > config->i2c_addr = client->addr; > fe = lgdt3306a_attach(config, client->adapter); > if (fe == NULL) { Thank you for this patch, Zhong. I suspect, however, that the patch might contain a typo. It looks like the `c` got dropped off of the `config` variable. Did you test this before sending it in? Thanks again and best regards, Michael Krufky