#include <linux/delay.h>
#include <linux/timer.h>
#include <linux/kfifo.h>
+#include <linux/slab.h>
#include <linux/kthread.h>
#include <linux/platform_device.h>
#include <linux/amlogic/media/canvas/canvas.h>
static int write_crc_work(struct pic_check_mgr_t *mgr)
{
unsigned int wr_size;
- char *crc_buf, crc_tmp[64*30];
+ char *crc_buf, *crc_tmp;
mm_segment_t old_fs;
struct pic_check_t *check = &mgr->pic_check;
if (mgr->enable & CRC_MASK) {
+ crc_tmp = kzalloc(64 * 30 * sizeof(char), GFP_KERNEL);
wr_size = 0;
while (kfifo_get(&check->wr_chk_q, &crc_buf) != 0) {
wr_size += sprintf(&crc_tmp[wr_size], "%s", crc_buf);
}
set_fs(old_fs);
}
+ kfree(crc_tmp);
}
return 0;
}