From: Jeonghee Kim Date: Mon, 20 Aug 2018 06:00:17 +0000 (+0900) Subject: [COMMON] media: mfc: remove unnecessary error handling X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=009a4161d930ce51fda137d2c73d4e52eae74c7f;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git [COMMON] media: mfc: remove unnecessary error handling Change-Id: Ic5ef223c15f2da0c6261802faaceb31963493963 Signed-off-by: Jeonghee Kim --- diff --git a/drivers/media/platform/exynos/mfc/mfc.c b/drivers/media/platform/exynos/mfc/mfc.c index 83dd38f5660f..ae57cabdf6cc 100644 --- a/drivers/media/platform/exynos/mfc/mfc.c +++ b/drivers/media/platform/exynos/mfc/mfc.c @@ -674,15 +674,9 @@ static int __mfc_wait_close_inst(struct mfc_dev *dev, struct mfc_ctx *ctx) static int mfc_release(struct file *file) { struct mfc_ctx *ctx = fh_to_mfc_ctx(file->private_data); - struct mfc_dev *dev = NULL; + struct mfc_dev *dev = ctx->dev; int ret = 0; - dev = ctx->dev; - if (!dev) { - mfc_err_dev("no mfc device to run\n"); - return -EINVAL; - } - mutex_lock(&dev->mfc_mutex); mfc_info_ctx("MFC driver release is called [%d:%d], is_drm(%d)\n", @@ -751,18 +745,12 @@ static int mfc_release(struct file *file) if (ret != DRMDRV_OK) { mfc_err_ctx("failed MFC DRM F/W unprot(%#x)\n", ret); call_dop(dev, dump_and_stop_debug_mode, dev); - goto err_release; } } #endif - if (dev->nal_q_handle) { - ret = mfc_nal_q_destroy(dev, dev->nal_q_handle); - if (ret) { - mfc_err_ctx("failed nal_q destroy\n"); - goto err_release; - } - } + if (dev->nal_q_handle) + mfc_nal_q_destroy(dev, dev->nal_q_handle); } mfc_qos_off(ctx); @@ -813,11 +801,6 @@ static int mfc_release(struct file *file) mutex_unlock(&dev->mfc_mutex); return ret; -err_release: - mfc_release_hwlock_ctx(ctx); - mutex_unlock(&dev->mfc_mutex); - return ret; - err_release_try: mfc_release_hwlock_ctx(ctx); mfc_cleanup_work_bit_and_try_run(ctx); diff --git a/drivers/media/platform/exynos/mfc/mfc_hwlock.c b/drivers/media/platform/exynos/mfc/mfc_hwlock.c index be90ff61076f..f46b09ce7e4c 100644 --- a/drivers/media/platform/exynos/mfc/mfc_hwlock.c +++ b/drivers/media/platform/exynos/mfc/mfc_hwlock.c @@ -512,14 +512,8 @@ void mfc_cache_flush(struct mfc_dev *dev, int is_drm) static int __mfc_nal_q_just_run(struct mfc_ctx *ctx, int need_cache_flush) { struct mfc_dev *dev = ctx->dev; - unsigned int ret = -1; - nal_queue_handle *nal_q_handle = dev->nal_q_handle; - - if (!nal_q_handle) { - mfc_err_dev("nal_q_handle is NULL\n"); - return ret; - } + unsigned int ret = -1; switch (nal_q_handle->nal_q_state) { case NAL_Q_STATE_CREATED: @@ -703,16 +697,10 @@ static int __mfc_just_run_enc(struct mfc_ctx *ctx) /* Run an operation on hardware */ int mfc_just_run(struct mfc_dev *dev, int new_ctx_index) { - struct mfc_ctx *ctx; + struct mfc_ctx *ctx = dev->ctx[new_ctx_index]; unsigned int ret = 0; int need_cache_flush = 0; - ctx = dev->ctx[new_ctx_index]; - if (!ctx) { - mfc_err_dev("no mfc context to run\n"); - return -EINVAL; - } - if (ctx->state == MFCINST_RUNNING) mfc_clean_ctx_int_flags(ctx); diff --git a/drivers/media/platform/exynos/mfc/mfc_nal_q.c b/drivers/media/platform/exynos/mfc/mfc_nal_q.c index ec19cf355e52..8d1e6b335aa3 100644 --- a/drivers/media/platform/exynos/mfc/mfc_nal_q.c +++ b/drivers/media/platform/exynos/mfc/mfc_nal_q.c @@ -264,38 +264,30 @@ static nal_queue_out_handle* __mfc_nal_q_create_out_q(struct mfc_dev *dev, return nal_q_out_handle; } -static int __mfc_nal_q_destroy_in_q(struct mfc_dev *dev, +static void __mfc_nal_q_destroy_in_q(struct mfc_dev *dev, nal_queue_in_handle *nal_q_in_handle) { mfc_debug_enter(); - if (!nal_q_in_handle) - return -EINVAL; - - mfc_mem_ion_free(dev, &nal_q_in_handle->in_buf); - if (nal_q_in_handle) + if (nal_q_in_handle) { + mfc_mem_ion_free(dev, &nal_q_in_handle->in_buf); kfree(nal_q_in_handle); + } mfc_debug_leave(); - - return 0; } -static int __mfc_nal_q_destroy_out_q(struct mfc_dev *dev, +static void __mfc_nal_q_destroy_out_q(struct mfc_dev *dev, nal_queue_out_handle *nal_q_out_handle) { mfc_debug_enter(); - if (!nal_q_out_handle) - return -EINVAL; - - mfc_mem_ion_free(dev, &nal_q_out_handle->out_buf); - if (nal_q_out_handle) + if (nal_q_out_handle) { + mfc_mem_ion_free(dev, &nal_q_out_handle->out_buf); kfree(nal_q_out_handle); + } mfc_debug_leave(); - - return 0; } /* @@ -339,35 +331,20 @@ nal_queue_handle *mfc_nal_q_create(struct mfc_dev *dev) return nal_q_handle; } -int mfc_nal_q_destroy(struct mfc_dev *dev, nal_queue_handle *nal_q_handle) +void mfc_nal_q_destroy(struct mfc_dev *dev, nal_queue_handle *nal_q_handle) { - int ret = 0; - mfc_debug_enter(); - if (!nal_q_handle) { - mfc_err_dev("[NALQ] there isn't nal_q_handle\n"); - return -EINVAL; - } - - ret = __mfc_nal_q_destroy_out_q(dev, nal_q_handle->nal_q_out_handle); - if (ret) { - mfc_err_dev("[NALQ] failed nal_q_out_handle destroy\n"); - return ret; - } + if (nal_q_handle->nal_q_out_handle) + __mfc_nal_q_destroy_out_q(dev, nal_q_handle->nal_q_out_handle); - ret = __mfc_nal_q_destroy_in_q(dev, nal_q_handle->nal_q_in_handle); - if (ret) { - mfc_err_dev("[NALQ] failed nal_q_in_handle destroy\n"); - return ret; - } + if (nal_q_handle->nal_q_in_handle) + __mfc_nal_q_destroy_in_q(dev, nal_q_handle->nal_q_in_handle); kfree(nal_q_handle); dev->nal_q_handle = NULL; mfc_debug_leave(); - - return ret; } void mfc_nal_q_init(struct mfc_dev *dev, nal_queue_handle *nal_q_handle) diff --git a/drivers/media/platform/exynos/mfc/mfc_nal_q.h b/drivers/media/platform/exynos/mfc/mfc_nal_q.h index bbf1557b1d52..ef914b84088b 100644 --- a/drivers/media/platform/exynos/mfc/mfc_nal_q.h +++ b/drivers/media/platform/exynos/mfc/mfc_nal_q.h @@ -22,7 +22,7 @@ void mfc_nal_q_clock_off(struct mfc_dev *dev, nal_queue_handle *nal_q_handle); void mfc_nal_q_cleanup_clock(struct mfc_dev *dev); nal_queue_handle *mfc_nal_q_create(struct mfc_dev *dev); -int mfc_nal_q_destroy(struct mfc_dev *dev, nal_queue_handle *nal_q_handle); +void mfc_nal_q_destroy(struct mfc_dev *dev, nal_queue_handle *nal_q_handle); void mfc_nal_q_init(struct mfc_dev *dev, nal_queue_handle *nal_q_handle); void mfc_nal_q_start(struct mfc_dev *dev, nal_queue_handle *nal_q_handle);