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

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-le...@lists.01.org

Reply via email to