diff --git a/drivers/amlogic/media/vout/cvbs/cvbs_out.c b/drivers/amlogic/media/vout/cvbs/cvbs_out.c index c136e70314f3c7..c6a65927c6aece 100644 --- a/drivers/amlogic/media/vout/cvbs/cvbs_out.c +++ b/drivers/amlogic/media/vout/cvbs/cvbs_out.c @@ -843,6 +843,8 @@ static void cvbs_debug_store(char *buf) } func_type_map(argv[1]); + if (func_read == NULL) + goto DEBUG_END; ret = kstrtoul(argv[2], 16, &addr); print_info("read %s[0x%x] = 0x%x\n", @@ -859,6 +861,8 @@ static void cvbs_debug_store(char *buf) } func_type_map(argv[1]); + if (func_read == NULL) + goto DEBUG_END; ret = kstrtoul(argv[2], 16, &addr); ret = kstrtoul(argv[3], 10, &start); ret = kstrtoul(argv[4], 10, &length); @@ -885,7 +889,8 @@ static void cvbs_debug_store(char *buf) } func_type_map(argv[1]); - + if (func_read == NULL) + goto DEBUG_END; ret = kstrtoul(argv[2], 16, &start); ret = kstrtoul(argv[3], 16, &end); @@ -903,7 +908,8 @@ static void cvbs_debug_store(char *buf) } func_type_map(argv[2]); - + if (func_write == NULL) + goto DEBUG_END; ret = kstrtoul(argv[1], 16, &value); ret = kstrtoul(argv[3], 16, &addr); @@ -921,7 +927,8 @@ static void cvbs_debug_store(char *buf) } func_type_map(argv[2]); - + if (func_read == NULL) + goto DEBUG_END; ret = kstrtoul(argv[1], 16, &value); ret = kstrtoul(argv[3], 16, &addr); ret = kstrtoul(argv[4], 10, &start); diff --git a/drivers/amlogic/media/vout/vdac/vdac_dev.c b/drivers/amlogic/media/vout/vdac/vdac_dev.c index 5a57952c621485..5003218e81fd90 100644 --- a/drivers/amlogic/media/vout/vdac/vdac_dev.c +++ b/drivers/amlogic/media/vout/vdac/vdac_dev.c @@ -584,7 +584,6 @@ static int aml_vdac_probe(struct platform_device *pdev) cdev_del(&devp->cdev); fail_add_cdev: pr_err("%s: add device error\n", __func__); - kfree(devp); fail_create_class: pr_err("%s: class create error\n", __func__); class_destroy(devp->clsp); @@ -603,7 +602,6 @@ static int __exit aml_vdac_remove(struct platform_device *pdev) cdev_del(&devp->cdev); class_destroy(devp->clsp); unregister_chrdev_region(devp->devno, 1); - kfree(devp); pr_info("%s: amvdac_exit.\n", __func__); return 0;