On 2018/9/19 3:58, Michael Ira Krufky wrote: > 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. I am sorry. It's my fault.:-[ . Will repost Thanks, zhong jiang > Did you test this before sending it in? > > Thanks again and best regards, > > Michael Krufky > > . >