diff options
Diffstat (limited to 'drivers/media/tuners/tuner-xc2028.c')
-rw-r--r-- | drivers/media/tuners/tuner-xc2028.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/media/tuners/tuner-xc2028.c b/drivers/media/tuners/tuner-xc2028.c index aa6861dcd3fd..574c3bb135d7 100644 --- a/drivers/media/tuners/tuner-xc2028.c +++ b/drivers/media/tuners/tuner-xc2028.c @@ -381,7 +381,7 @@ static int load_all_firmwares(struct dvb_frontend *fe, goto corrupt; } - priv->firm[n].ptr = kzalloc(size, GFP_KERNEL); + priv->firm[n].ptr = kmemdup(p, size, GFP_KERNEL); if (priv->firm[n].ptr == NULL) { tuner_err("Not enough memory to load firmware file.\n"); rc = -ENOMEM; @@ -394,7 +394,6 @@ static int load_all_firmwares(struct dvb_frontend *fe, type, (unsigned long long)id, size); } - memcpy(priv->firm[n].ptr, p, size); priv->firm[n].type = type; priv->firm[n].id = id; priv->firm[n].size = size; |