OSDN Git Service

media: dvb-frontends: drx39xyj: replace return with goto for proper unwind
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Thu, 26 Jan 2023 12:37:23 +0000 (13:37 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Wed, 8 Feb 2023 07:32:10 +0000 (08:32 +0100)
In three places there was a return instead of a goto to the unwind
code.

This fixes three smatch warnings:

drxj.c:9542 ctrl_get_qam_sig_quality() warn: missing unwind goto?
drxj.c:10919 ctrl_set_standard() warn: missing unwind goto?
drxj.c:11466 drxj_open() warn: missing unwind goto?

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/dvb-frontends/drx39xyj/drxj.c

index 1dff59c..6bf6559 100644 (file)
@@ -9539,7 +9539,8 @@ ctrl_get_qam_sig_quality(struct drx_demod_instance *demod)
                qam_sl_sig_power = DRXJ_QAM_SL_SIG_POWER_QAM256 << 2;
                break;
        default:
-               return -EIO;
+               rc = -EIO;
+               goto rw_error;
        }
 
        /* ------------------------------ */
@@ -10916,7 +10917,8 @@ ctrl_set_standard(struct drx_demod_instance *demod, enum drx_standard *standard)
                break;
        case DRX_STANDARD_AUTO:
        default:
-               return -EINVAL;
+               rc = -EINVAL;
+               goto rw_error;
        }
 
        /*
@@ -11463,7 +11465,8 @@ static int drxj_open(struct drx_demod_instance *demod)
 
                if (DRX_ISPOWERDOWNMODE(demod->my_common_attr->current_power_mode)) {
                        pr_err("Should powerup before loading the firmware.");
-                       return -EINVAL;
+                       rc = -EINVAL;
+                       goto rw_error;
                }
 
                rc = drx_ctrl_u_code(demod, &ucode_info, UCODE_UPLOAD);