[COMMON] media: mfc: remove unnecessary error handling
authorJeonghee Kim <jhhhh.kim@samsung.com>
Mon, 20 Aug 2018 06:00:17 +0000 (15:00 +0900)
committerhskang <hs1218.kang@samsung.com>
Sun, 9 Sep 2018 21:39:15 +0000 (06:39 +0900)
Change-Id: Ic5ef223c15f2da0c6261802faaceb31963493963
Signed-off-by: Jeonghee Kim <jhhhh.kim@samsung.com>
drivers/media/platform/exynos/mfc/mfc.c
drivers/media/platform/exynos/mfc/mfc_hwlock.c
drivers/media/platform/exynos/mfc/mfc_nal_q.c
drivers/media/platform/exynos/mfc/mfc_nal_q.h

index 83dd38f5660f709b015caf6b980319345427b483..ae57cabdf6ccd7875665c1688b84dca11441d3f9 100644 (file)
@@ -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);
index be90ff61076f303914fb49cfd855faefbffd16c5..f46b09ce7e4c22e9367323b4b664b4a76389e75c 100644 (file)
@@ -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);
 
index ec19cf355e528dae9a270881a7e469d2c0368ef3..8d1e6b335aa30b0dc69f8904df9bd88f83cecd00 100644 (file)
@@ -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)
index bbf1557b1d5207e0db8301d440212bd8d96fb6cf..ef914b84088bb648865911b2e3db1cf439e7e96a 100644 (file)
@@ -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);