diff --git a/drivers/misc/awinic/aw8695/aw8695.c b/drivers/misc/awinic/aw8695/aw8695.c index e1cf4d2b1aa9..6ebbcc3db4ef 100644 --- a/drivers/misc/awinic/aw8695/aw8695.c +++ b/drivers/misc/awinic/aw8695/aw8695.c @@ -227,7 +227,7 @@ static void aw8695_rtp_loaded(const struct firmware *cont, void *context) cont ? cont->size : 0); /* aw8695 rtp update */ - aw8695_rtp = kzalloc(cont->size + sizeof(int), GFP_KERNEL); + aw8695_rtp = vzalloc(cont->size + sizeof(int)); if (!aw8695_rtp) { release_firmware(cont); pr_err("%s: Error allocating memory\n", __func__); @@ -1188,8 +1188,8 @@ static void aw8695_rtp_work_routine(struct work_struct *work) return ; } aw8695->rtp_init = 0; - kfree(aw8695_rtp); - aw8695_rtp = kzalloc(rtp_file->size + sizeof(int), GFP_KERNEL); + vfree(aw8695_rtp); + aw8695_rtp = vzalloc(rtp_file->size + sizeof(int)); if (!aw8695_rtp) { release_firmware(rtp_file); pr_err("%s: error allocating memory\n", __func__);