All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <202207110939.SC3SbyPy-lkp@intel.com>

diff --git a/a/1.txt b/N1/1.txt
index c64f8ad..cbdfae7 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,15 +1,6 @@
-CC: kbuild-all(a)lists.01.org
-BCC: lkp(a)intel.com
-CC: Linux Memory Management List <linux-mm@kvack.org>
-TO: Johnson Wang <johnson.wang@mediatek.com>
-CC: Chanwoo Choi <cw00.choi@samsung.com>
-CC: "Jia-Wei Chang" <jia-wei.chang@mediatek.com>
-
 tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
 head:   f2528c29385819a84480cacef4886b049761e2c5
 commit: b615b00c42da1ea59aefbd6c98b08b1afabb9d1e [5859/8914] PM / devfreq: mediatek: Introduce MediaTek CCI devfreq driver
-:::::: branch date: 3 days ago
-:::::: commit date: 11 days ago
 config: microblaze-randconfig-m031-20220706 (https://download.01.org/0day-ci/archive/20220711/202207110939.SC3SbyPy-lkp(a)intel.com/config)
 compiler: microblaze-linux-gcc (GCC) 11.3.0
 
@@ -22,101 +13,28 @@ drivers/devfreq/mtk-cci-devfreq.c:135 mtk_ccifreq_target() warn: variable derefe
 
 vim +/drv +135 drivers/devfreq/mtk-cci-devfreq.c
 
-b615b00c42da1e Johnson Wang 2022-06-07  125  
 b615b00c42da1e Johnson Wang 2022-06-07  126  static int mtk_ccifreq_target(struct device *dev, unsigned long *freq,
 b615b00c42da1e Johnson Wang 2022-06-07  127  			      u32 flags)
 b615b00c42da1e Johnson Wang 2022-06-07  128  {
 b615b00c42da1e Johnson Wang 2022-06-07  129  	struct mtk_ccifreq_drv *drv = dev_get_drvdata(dev);
 b615b00c42da1e Johnson Wang 2022-06-07 @130  	struct clk *cci_pll = clk_get_parent(drv->cci_clk);
+                                                                                     ^^^^^^^^^^^^
+Dereference
+
 b615b00c42da1e Johnson Wang 2022-06-07  131  	struct dev_pm_opp *opp;
 b615b00c42da1e Johnson Wang 2022-06-07  132  	unsigned long opp_rate;
 b615b00c42da1e Johnson Wang 2022-06-07  133  	int voltage, pre_voltage, inter_voltage, target_voltage, ret;
 b615b00c42da1e Johnson Wang 2022-06-07  134  
 b615b00c42da1e Johnson Wang 2022-06-07 @135  	if (!drv)
+                                                    ^^^^
+Too late!
+
 b615b00c42da1e Johnson Wang 2022-06-07  136  		return -EINVAL;
 b615b00c42da1e Johnson Wang 2022-06-07  137  
 b615b00c42da1e Johnson Wang 2022-06-07  138  	if (drv->pre_freq == *freq)
 b615b00c42da1e Johnson Wang 2022-06-07  139  		return 0;
 b615b00c42da1e Johnson Wang 2022-06-07  140  
 b615b00c42da1e Johnson Wang 2022-06-07  141  	inter_voltage = drv->inter_voltage;
-b615b00c42da1e Johnson Wang 2022-06-07  142  
-b615b00c42da1e Johnson Wang 2022-06-07  143  	opp_rate = *freq;
-b615b00c42da1e Johnson Wang 2022-06-07  144  	opp = devfreq_recommended_opp(dev, &opp_rate, 1);
-b615b00c42da1e Johnson Wang 2022-06-07  145  	if (IS_ERR(opp)) {
-b615b00c42da1e Johnson Wang 2022-06-07  146  		dev_err(dev, "failed to find opp for freq: %ld\n", opp_rate);
-b615b00c42da1e Johnson Wang 2022-06-07  147  		return PTR_ERR(opp);
-b615b00c42da1e Johnson Wang 2022-06-07  148  	}
-b615b00c42da1e Johnson Wang 2022-06-07  149  
-b615b00c42da1e Johnson Wang 2022-06-07  150  	mutex_lock(&drv->reg_lock);
-b615b00c42da1e Johnson Wang 2022-06-07  151  
-b615b00c42da1e Johnson Wang 2022-06-07  152  	voltage = dev_pm_opp_get_voltage(opp);
-b615b00c42da1e Johnson Wang 2022-06-07  153  	dev_pm_opp_put(opp);
-b615b00c42da1e Johnson Wang 2022-06-07  154  
-b615b00c42da1e Johnson Wang 2022-06-07  155  	pre_voltage = regulator_get_voltage(drv->proc_reg);
-b615b00c42da1e Johnson Wang 2022-06-07  156  	if (pre_voltage < 0) {
-b615b00c42da1e Johnson Wang 2022-06-07  157  		dev_err(dev, "invalid vproc value: %d\n", pre_voltage);
-b615b00c42da1e Johnson Wang 2022-06-07  158  		ret = pre_voltage;
-b615b00c42da1e Johnson Wang 2022-06-07  159  		goto out_unlock;
-b615b00c42da1e Johnson Wang 2022-06-07  160  	}
-b615b00c42da1e Johnson Wang 2022-06-07  161  
-b615b00c42da1e Johnson Wang 2022-06-07  162  	/* scale up: set voltage first then freq. */
-b615b00c42da1e Johnson Wang 2022-06-07  163  	target_voltage = max(inter_voltage, voltage);
-b615b00c42da1e Johnson Wang 2022-06-07  164  	if (pre_voltage <= target_voltage) {
-b615b00c42da1e Johnson Wang 2022-06-07  165  		ret = mtk_ccifreq_set_voltage(drv, target_voltage);
-b615b00c42da1e Johnson Wang 2022-06-07  166  		if (ret) {
-b615b00c42da1e Johnson Wang 2022-06-07  167  			dev_err(dev, "failed to scale up voltage\n");
-b615b00c42da1e Johnson Wang 2022-06-07  168  			goto out_restore_voltage;
-b615b00c42da1e Johnson Wang 2022-06-07  169  		}
-b615b00c42da1e Johnson Wang 2022-06-07  170  	}
-b615b00c42da1e Johnson Wang 2022-06-07  171  
-b615b00c42da1e Johnson Wang 2022-06-07  172  	/* switch the cci clock to intermediate clock source. */
-b615b00c42da1e Johnson Wang 2022-06-07  173  	ret = clk_set_parent(drv->cci_clk, drv->inter_clk);
-b615b00c42da1e Johnson Wang 2022-06-07  174  	if (ret) {
-b615b00c42da1e Johnson Wang 2022-06-07  175  		dev_err(dev, "failed to re-parent cci clock\n");
-b615b00c42da1e Johnson Wang 2022-06-07  176  		goto out_restore_voltage;
-b615b00c42da1e Johnson Wang 2022-06-07  177  	}
-b615b00c42da1e Johnson Wang 2022-06-07  178  
-b615b00c42da1e Johnson Wang 2022-06-07  179  	/* set the original clock to target rate. */
-b615b00c42da1e Johnson Wang 2022-06-07  180  	ret = clk_set_rate(cci_pll, *freq);
-b615b00c42da1e Johnson Wang 2022-06-07  181  	if (ret) {
-b615b00c42da1e Johnson Wang 2022-06-07  182  		dev_err(dev, "failed to set cci pll rate: %d\n", ret);
-b615b00c42da1e Johnson Wang 2022-06-07  183  		clk_set_parent(drv->cci_clk, cci_pll);
-b615b00c42da1e Johnson Wang 2022-06-07  184  		goto out_restore_voltage;
-b615b00c42da1e Johnson Wang 2022-06-07  185  	}
-b615b00c42da1e Johnson Wang 2022-06-07  186  
-b615b00c42da1e Johnson Wang 2022-06-07  187  	/* switch the cci clock back to the original clock source. */
-b615b00c42da1e Johnson Wang 2022-06-07  188  	ret = clk_set_parent(drv->cci_clk, cci_pll);
-b615b00c42da1e Johnson Wang 2022-06-07  189  	if (ret) {
-b615b00c42da1e Johnson Wang 2022-06-07  190  		dev_err(dev, "failed to re-parent cci clock\n");
-b615b00c42da1e Johnson Wang 2022-06-07  191  		mtk_ccifreq_set_voltage(drv, inter_voltage);
-b615b00c42da1e Johnson Wang 2022-06-07  192  		goto out_unlock;
-b615b00c42da1e Johnson Wang 2022-06-07  193  	}
-b615b00c42da1e Johnson Wang 2022-06-07  194  
-b615b00c42da1e Johnson Wang 2022-06-07  195  	/*
-b615b00c42da1e Johnson Wang 2022-06-07  196  	 * If the new voltage is lower than the intermediate voltage or the
-b615b00c42da1e Johnson Wang 2022-06-07  197  	 * original voltage, scale down to the new voltage.
-b615b00c42da1e Johnson Wang 2022-06-07  198  	 */
-b615b00c42da1e Johnson Wang 2022-06-07  199  	if (voltage < inter_voltage || voltage < pre_voltage) {
-b615b00c42da1e Johnson Wang 2022-06-07  200  		ret = mtk_ccifreq_set_voltage(drv, voltage);
-b615b00c42da1e Johnson Wang 2022-06-07  201  		if (ret) {
-b615b00c42da1e Johnson Wang 2022-06-07  202  			dev_err(dev, "failed to scale down voltage\n");
-b615b00c42da1e Johnson Wang 2022-06-07  203  			goto out_unlock;
-b615b00c42da1e Johnson Wang 2022-06-07  204  		}
-b615b00c42da1e Johnson Wang 2022-06-07  205  	}
-b615b00c42da1e Johnson Wang 2022-06-07  206  
-b615b00c42da1e Johnson Wang 2022-06-07  207  	drv->pre_freq = *freq;
-b615b00c42da1e Johnson Wang 2022-06-07  208  	mutex_unlock(&drv->reg_lock);
-b615b00c42da1e Johnson Wang 2022-06-07  209  
-b615b00c42da1e Johnson Wang 2022-06-07  210  	return 0;
-b615b00c42da1e Johnson Wang 2022-06-07  211  
-b615b00c42da1e Johnson Wang 2022-06-07  212  out_restore_voltage:
-b615b00c42da1e Johnson Wang 2022-06-07  213  	mtk_ccifreq_set_voltage(drv, pre_voltage);
-b615b00c42da1e Johnson Wang 2022-06-07  214  
-b615b00c42da1e Johnson Wang 2022-06-07  215  out_unlock:
-b615b00c42da1e Johnson Wang 2022-06-07  216  	mutex_unlock(&drv->reg_lock);
-b615b00c42da1e Johnson Wang 2022-06-07  217  	return ret;
-b615b00c42da1e Johnson Wang 2022-06-07  218  }
-b615b00c42da1e Johnson Wang 2022-06-07  219  
 
 -- 
 0-DAY CI Kernel Test Service
diff --git a/a/content_digest b/N1/content_digest
index 7d57a7c..7f2d55d 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,21 +1,12 @@
- "From\0kernel test robot <lkp@intel.com>\0"
+ "From\0Dan Carpenter <dan.carpenter@oracle.com>\0"
  "Subject\0[linux-next:master 5859/8914] drivers/devfreq/mtk-cci-devfreq.c:135 mtk_ccifreq_target() warn: variable dereferenced before check 'drv' (see line 130)\0"
- "Date\0Mon, 11 Jul 2022 09:31:53 +0800\0"
- "To\0kbuild@lists.01.org\0"
+ "Date\0Tue, 12 Jul 2022 17:02:55 +0300\0"
+ "To\0kbuild-all@lists.01.org\0"
  "\01:1\0"
  "b\0"
- "CC: kbuild-all(a)lists.01.org\n"
- "BCC: lkp(a)intel.com\n"
- "CC: Linux Memory Management List <linux-mm@kvack.org>\n"
- "TO: Johnson Wang <johnson.wang@mediatek.com>\n"
- "CC: Chanwoo Choi <cw00.choi@samsung.com>\n"
- "CC: \"Jia-Wei Chang\" <jia-wei.chang@mediatek.com>\n"
- "\n"
  "tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master\n"
  "head:   f2528c29385819a84480cacef4886b049761e2c5\n"
  "commit: b615b00c42da1ea59aefbd6c98b08b1afabb9d1e [5859/8914] PM / devfreq: mediatek: Introduce MediaTek CCI devfreq driver\n"
- ":::::: branch date: 3 days ago\n"
- ":::::: commit date: 11 days ago\n"
  "config: microblaze-randconfig-m031-20220706 (https://download.01.org/0day-ci/archive/20220711/202207110939.SC3SbyPy-lkp(a)intel.com/config)\n"
  "compiler: microblaze-linux-gcc (GCC) 11.3.0\n"
  "\n"
@@ -28,104 +19,31 @@
  "\n"
  "vim +/drv +135 drivers/devfreq/mtk-cci-devfreq.c\n"
  "\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  125  \n"
  "b615b00c42da1e Johnson Wang 2022-06-07  126  static int mtk_ccifreq_target(struct device *dev, unsigned long *freq,\n"
  "b615b00c42da1e Johnson Wang 2022-06-07  127  \t\t\t      u32 flags)\n"
  "b615b00c42da1e Johnson Wang 2022-06-07  128  {\n"
  "b615b00c42da1e Johnson Wang 2022-06-07  129  \tstruct mtk_ccifreq_drv *drv = dev_get_drvdata(dev);\n"
  "b615b00c42da1e Johnson Wang 2022-06-07 @130  \tstruct clk *cci_pll = clk_get_parent(drv->cci_clk);\n"
+ "                                                                                     ^^^^^^^^^^^^\n"
+ "Dereference\n"
+ "\n"
  "b615b00c42da1e Johnson Wang 2022-06-07  131  \tstruct dev_pm_opp *opp;\n"
  "b615b00c42da1e Johnson Wang 2022-06-07  132  \tunsigned long opp_rate;\n"
  "b615b00c42da1e Johnson Wang 2022-06-07  133  \tint voltage, pre_voltage, inter_voltage, target_voltage, ret;\n"
  "b615b00c42da1e Johnson Wang 2022-06-07  134  \n"
  "b615b00c42da1e Johnson Wang 2022-06-07 @135  \tif (!drv)\n"
+ "                                                    ^^^^\n"
+ "Too late!\n"
+ "\n"
  "b615b00c42da1e Johnson Wang 2022-06-07  136  \t\treturn -EINVAL;\n"
  "b615b00c42da1e Johnson Wang 2022-06-07  137  \n"
  "b615b00c42da1e Johnson Wang 2022-06-07  138  \tif (drv->pre_freq == *freq)\n"
  "b615b00c42da1e Johnson Wang 2022-06-07  139  \t\treturn 0;\n"
  "b615b00c42da1e Johnson Wang 2022-06-07  140  \n"
  "b615b00c42da1e Johnson Wang 2022-06-07  141  \tinter_voltage = drv->inter_voltage;\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  142  \n"
- "b615b00c42da1e Johnson Wang 2022-06-07  143  \topp_rate = *freq;\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  144  \topp = devfreq_recommended_opp(dev, &opp_rate, 1);\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  145  \tif (IS_ERR(opp)) {\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  146  \t\tdev_err(dev, \"failed to find opp for freq: %ld\\n\", opp_rate);\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  147  \t\treturn PTR_ERR(opp);\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  148  \t}\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  149  \n"
- "b615b00c42da1e Johnson Wang 2022-06-07  150  \tmutex_lock(&drv->reg_lock);\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  151  \n"
- "b615b00c42da1e Johnson Wang 2022-06-07  152  \tvoltage = dev_pm_opp_get_voltage(opp);\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  153  \tdev_pm_opp_put(opp);\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  154  \n"
- "b615b00c42da1e Johnson Wang 2022-06-07  155  \tpre_voltage = regulator_get_voltage(drv->proc_reg);\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  156  \tif (pre_voltage < 0) {\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  157  \t\tdev_err(dev, \"invalid vproc value: %d\\n\", pre_voltage);\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  158  \t\tret = pre_voltage;\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  159  \t\tgoto out_unlock;\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  160  \t}\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  161  \n"
- "b615b00c42da1e Johnson Wang 2022-06-07  162  \t/* scale up: set voltage first then freq. */\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  163  \ttarget_voltage = max(inter_voltage, voltage);\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  164  \tif (pre_voltage <= target_voltage) {\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  165  \t\tret = mtk_ccifreq_set_voltage(drv, target_voltage);\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  166  \t\tif (ret) {\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  167  \t\t\tdev_err(dev, \"failed to scale up voltage\\n\");\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  168  \t\t\tgoto out_restore_voltage;\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  169  \t\t}\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  170  \t}\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  171  \n"
- "b615b00c42da1e Johnson Wang 2022-06-07  172  \t/* switch the cci clock to intermediate clock source. */\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  173  \tret = clk_set_parent(drv->cci_clk, drv->inter_clk);\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  174  \tif (ret) {\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  175  \t\tdev_err(dev, \"failed to re-parent cci clock\\n\");\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  176  \t\tgoto out_restore_voltage;\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  177  \t}\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  178  \n"
- "b615b00c42da1e Johnson Wang 2022-06-07  179  \t/* set the original clock to target rate. */\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  180  \tret = clk_set_rate(cci_pll, *freq);\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  181  \tif (ret) {\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  182  \t\tdev_err(dev, \"failed to set cci pll rate: %d\\n\", ret);\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  183  \t\tclk_set_parent(drv->cci_clk, cci_pll);\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  184  \t\tgoto out_restore_voltage;\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  185  \t}\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  186  \n"
- "b615b00c42da1e Johnson Wang 2022-06-07  187  \t/* switch the cci clock back to the original clock source. */\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  188  \tret = clk_set_parent(drv->cci_clk, cci_pll);\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  189  \tif (ret) {\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  190  \t\tdev_err(dev, \"failed to re-parent cci clock\\n\");\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  191  \t\tmtk_ccifreq_set_voltage(drv, inter_voltage);\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  192  \t\tgoto out_unlock;\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  193  \t}\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  194  \n"
- "b615b00c42da1e Johnson Wang 2022-06-07  195  \t/*\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  196  \t * If the new voltage is lower than the intermediate voltage or the\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  197  \t * original voltage, scale down to the new voltage.\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  198  \t */\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  199  \tif (voltage < inter_voltage || voltage < pre_voltage) {\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  200  \t\tret = mtk_ccifreq_set_voltage(drv, voltage);\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  201  \t\tif (ret) {\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  202  \t\t\tdev_err(dev, \"failed to scale down voltage\\n\");\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  203  \t\t\tgoto out_unlock;\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  204  \t\t}\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  205  \t}\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  206  \n"
- "b615b00c42da1e Johnson Wang 2022-06-07  207  \tdrv->pre_freq = *freq;\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  208  \tmutex_unlock(&drv->reg_lock);\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  209  \n"
- "b615b00c42da1e Johnson Wang 2022-06-07  210  \treturn 0;\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  211  \n"
- "b615b00c42da1e Johnson Wang 2022-06-07  212  out_restore_voltage:\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  213  \tmtk_ccifreq_set_voltage(drv, pre_voltage);\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  214  \n"
- "b615b00c42da1e Johnson Wang 2022-06-07  215  out_unlock:\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  216  \tmutex_unlock(&drv->reg_lock);\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  217  \treturn ret;\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  218  }\n"
- "b615b00c42da1e Johnson Wang 2022-06-07  219  \n"
  "\n"
  "-- \n"
  "0-DAY CI Kernel Test Service\n"
  https://01.org/lkp
 
-eafbdf19d3f971983f0136f5142289213dd2f908bde9783252e355f9678f547f
+ca74be3f9a8b8e5ba399262791f9e1d3334faa23700c4d72e49c6ea8db2484a3

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.