CC: kbuild-...@lists.01.org TO: "Pierre-Louis Bossart" <pierre-louis.boss...@linux.intel.com>
tree: https://github.com/plbossart/sound merge/sound-upstream-20210308 head: 5baaa71808e019c41d7b3d348d4a6481df688294 commit: 77ca65b2f7a64a97fccfaa0f35d74f9a7a7db1d8 [29/38] soundwire: bus: handle errors in clock stop/start sequences :::::: branch date: 4 months ago :::::: commit date: 4 months ago config: x86_64-randconfig-c002-20210622 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <l...@intel.com> Reported-by: Julia Lawall <julia.law...@lip6.fr> cocci warnings: (new ones prefixed by >>) >> drivers/soundwire/bus.c:1099:13-18: ERROR: invalid reference to the index >> variable of the iterator on line 1065 vim +1099 drivers/soundwire/bus.c e059c5e889f31b Rander Wang 2019-11-08 1042 e059c5e889f31b Rander Wang 2019-11-08 1043 /** e059c5e889f31b Rander Wang 2019-11-08 1044 * sdw_bus_exit_clk_stop: Exit clock stop mode e059c5e889f31b Rander Wang 2019-11-08 1045 * e059c5e889f31b Rander Wang 2019-11-08 1046 * @bus: SDW bus instance e059c5e889f31b Rander Wang 2019-11-08 1047 * e059c5e889f31b Rander Wang 2019-11-08 1048 * This De-prepares the Slaves by exiting Clock Stop Mode 0. For the Slaves e059c5e889f31b Rander Wang 2019-11-08 1049 * exiting Clock Stop Mode 1, they will be de-prepared after they enumerate e059c5e889f31b Rander Wang 2019-11-08 1050 * back. e059c5e889f31b Rander Wang 2019-11-08 1051 */ e059c5e889f31b Rander Wang 2019-11-08 1052 int sdw_bus_exit_clk_stop(struct sdw_bus *bus) e059c5e889f31b Rander Wang 2019-11-08 1053 { e059c5e889f31b Rander Wang 2019-11-08 1054 enum sdw_clk_stop_mode mode; e059c5e889f31b Rander Wang 2019-11-08 1055 bool simple_clk_stop = true; e059c5e889f31b Rander Wang 2019-11-08 1056 struct sdw_slave *slave; e059c5e889f31b Rander Wang 2019-11-08 1057 bool is_slave = false; e059c5e889f31b Rander Wang 2019-11-08 1058 int ret; e059c5e889f31b Rander Wang 2019-11-08 1059 e059c5e889f31b Rander Wang 2019-11-08 1060 /* e059c5e889f31b Rander Wang 2019-11-08 1061 * In order to save on transition time, de-prepare e059c5e889f31b Rander Wang 2019-11-08 1062 * each Slave and then wait for all Slave(s) to be e059c5e889f31b Rander Wang 2019-11-08 1063 * de-prepared after clock resume. e059c5e889f31b Rander Wang 2019-11-08 1064 */ e059c5e889f31b Rander Wang 2019-11-08 @1065 list_for_each_entry(slave, &bus->slaves, node) { e059c5e889f31b Rander Wang 2019-11-08 1066 if (!slave->dev_num) e059c5e889f31b Rander Wang 2019-11-08 1067 continue; e059c5e889f31b Rander Wang 2019-11-08 1068 e059c5e889f31b Rander Wang 2019-11-08 1069 if (slave->status != SDW_SLAVE_ATTACHED && e059c5e889f31b Rander Wang 2019-11-08 1070 slave->status != SDW_SLAVE_ALERT) e059c5e889f31b Rander Wang 2019-11-08 1071 continue; e059c5e889f31b Rander Wang 2019-11-08 1072 bd84109c6fa9ec Bard Liao 2019-12-13 1073 /* Identify if Slave(s) are available on Bus */ bd84109c6fa9ec Bard Liao 2019-12-13 1074 is_slave = true; bd84109c6fa9ec Bard Liao 2019-12-13 1075 e059c5e889f31b Rander Wang 2019-11-08 1076 mode = slave->curr_clk_stop_mode; e059c5e889f31b Rander Wang 2019-11-08 1077 e059c5e889f31b Rander Wang 2019-11-08 1078 if (mode == SDW_CLK_STOP_MODE1) { e059c5e889f31b Rander Wang 2019-11-08 1079 simple_clk_stop = false; e059c5e889f31b Rander Wang 2019-11-08 1080 continue; e059c5e889f31b Rander Wang 2019-11-08 1081 } e059c5e889f31b Rander Wang 2019-11-08 1082 77ca65b2f7a64a Pierre-Louis Bossart 2021-03-02 1083 ret = sdw_slave_clk_stop_callback(slave, mode, SDW_CLK_PRE_DEPREPARE); e059c5e889f31b Rander Wang 2019-11-08 1084 if (ret < 0) 77ca65b2f7a64a Pierre-Louis Bossart 2021-03-02 1085 dev_warn(&slave->dev, "clock stop pre deprepare cb failed:%d\n", ret); e059c5e889f31b Rander Wang 2019-11-08 1086 77ca65b2f7a64a Pierre-Louis Bossart 2021-03-02 1087 ret = sdw_slave_clk_stop_prepare(slave, mode, false); e059c5e889f31b Rander Wang 2019-11-08 1088 if (ret < 0) 77ca65b2f7a64a Pierre-Louis Bossart 2021-03-02 1089 dev_warn(&slave->dev, "clock stop deprepare failed:%d\n", ret); e059c5e889f31b Rander Wang 2019-11-08 1090 } e059c5e889f31b Rander Wang 2019-11-08 1091 ec93bc9216bb87 Chao Song 2021-01-11 1092 /* Skip remaining clock stop de-preparation if no Slave is attached */ 0d21b41e506253 Bard Liao 2019-12-13 1093 if (!is_slave) 0d21b41e506253 Bard Liao 2019-12-13 1094 return 0; 0d21b41e506253 Bard Liao 2019-12-13 1095 77ca65b2f7a64a Pierre-Louis Bossart 2021-03-02 1096 if (!simple_clk_stop) { 77ca65b2f7a64a Pierre-Louis Bossart 2021-03-02 1097 ret = sdw_bus_wait_for_clk_prep_deprep(bus, SDW_BROADCAST_DEV_NUM); 77ca65b2f7a64a Pierre-Louis Bossart 2021-03-02 1098 if (ret < 0) 77ca65b2f7a64a Pierre-Louis Bossart 2021-03-02 @1099 dev_warn(&slave->dev, "clock stop deprepare wait failed:%d\n", ret); 77ca65b2f7a64a Pierre-Louis Bossart 2021-03-02 1100 } ec93bc9216bb87 Chao Song 2021-01-11 1101 e059c5e889f31b Rander Wang 2019-11-08 1102 list_for_each_entry(slave, &bus->slaves, node) { e059c5e889f31b Rander Wang 2019-11-08 1103 if (!slave->dev_num) e059c5e889f31b Rander Wang 2019-11-08 1104 continue; e059c5e889f31b Rander Wang 2019-11-08 1105 e059c5e889f31b Rander Wang 2019-11-08 1106 if (slave->status != SDW_SLAVE_ATTACHED && e059c5e889f31b Rander Wang 2019-11-08 1107 slave->status != SDW_SLAVE_ALERT) e059c5e889f31b Rander Wang 2019-11-08 1108 continue; e059c5e889f31b Rander Wang 2019-11-08 1109 e059c5e889f31b Rander Wang 2019-11-08 1110 mode = slave->curr_clk_stop_mode; 77ca65b2f7a64a Pierre-Louis Bossart 2021-03-02 1111 ret = sdw_slave_clk_stop_callback(slave, mode, SDW_CLK_POST_DEPREPARE); 77ca65b2f7a64a Pierre-Louis Bossart 2021-03-02 1112 if (ret < 0) 77ca65b2f7a64a Pierre-Louis Bossart 2021-03-02 1113 dev_warn(&slave->dev, "clock stop post deprepare cb failed:%d\n", ret); e059c5e889f31b Rander Wang 2019-11-08 1114 } e059c5e889f31b Rander Wang 2019-11-08 1115 e059c5e889f31b Rander Wang 2019-11-08 1116 return 0; e059c5e889f31b Rander Wang 2019-11-08 1117 } e059c5e889f31b Rander Wang 2019-11-08 1118 EXPORT_SYMBOL(sdw_bus_exit_clk_stop); e059c5e889f31b Rander Wang 2019-11-08 1119 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- kbuild@lists.01.org To unsubscribe send an email to kbuild-le...@lists.01.org