@@ -163,9 +163,6 @@ static int qcom_scm_bw_enable(void)
163163 if (!__scm -> path )
164164 return 0 ;
165165
166- if (IS_ERR (__scm -> path ))
167- return - EINVAL ;
168-
169166 mutex_lock (& __scm -> scm_bw_lock );
170167 if (!__scm -> scm_vote_count ) {
171168 ret = icc_set_bw (__scm -> path , 0 , UINT_MAX );
@@ -183,7 +180,7 @@ static int qcom_scm_bw_enable(void)
183180
184181static void qcom_scm_bw_disable (void )
185182{
186- if (IS_ERR_OR_NULL ( __scm -> path ) )
183+ if (! __scm -> path )
187184 return ;
188185
189186 mutex_lock (& __scm -> scm_bw_lock );
@@ -569,13 +566,14 @@ int qcom_scm_pas_init_image(u32 peripheral, const void *metadata, size_t size,
569566
570567 ret = qcom_scm_bw_enable ();
571568 if (ret )
572- return ret ;
569+ goto disable_clk ;
573570
574571 desc .args [1 ] = mdata_phys ;
575572
576573 ret = qcom_scm_call (__scm -> dev , & desc , & res );
577-
578574 qcom_scm_bw_disable ();
575+
576+ disable_clk :
579577 qcom_scm_clk_disable ();
580578
581579out :
@@ -637,10 +635,12 @@ int qcom_scm_pas_mem_setup(u32 peripheral, phys_addr_t addr, phys_addr_t size)
637635
638636 ret = qcom_scm_bw_enable ();
639637 if (ret )
640- return ret ;
638+ goto disable_clk ;
641639
642640 ret = qcom_scm_call (__scm -> dev , & desc , & res );
643641 qcom_scm_bw_disable ();
642+
643+ disable_clk :
644644 qcom_scm_clk_disable ();
645645
646646 return ret ? : res .result [0 ];
@@ -672,10 +672,12 @@ int qcom_scm_pas_auth_and_reset(u32 peripheral)
672672
673673 ret = qcom_scm_bw_enable ();
674674 if (ret )
675- return ret ;
675+ goto disable_clk ;
676676
677677 ret = qcom_scm_call (__scm -> dev , & desc , & res );
678678 qcom_scm_bw_disable ();
679+
680+ disable_clk :
679681 qcom_scm_clk_disable ();
680682
681683 return ret ? : res .result [0 ];
@@ -706,11 +708,12 @@ int qcom_scm_pas_shutdown(u32 peripheral)
706708
707709 ret = qcom_scm_bw_enable ();
708710 if (ret )
709- return ret ;
711+ goto disable_clk ;
710712
711713 ret = qcom_scm_call (__scm -> dev , & desc , & res );
712-
713714 qcom_scm_bw_disable ();
715+
716+ disable_clk :
714717 qcom_scm_clk_disable ();
715718
716719 return ret ? : res .result [0 ];
0 commit comments