Hi Amireddy, url: https://github.com/0day-ci/linux/commits/Amireddy-Mallikarjuna-reddy/Add-Intel-LGM-soc-DMA-support/20200610-202116 base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next config: i386-randconfig-m021-20200621 (attached as .config) compiler: gcc-9 (Debian 9.3.0-13) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: drivers/dma/lgm/lgm-dma.c:1306 ldma_cfg_init() error: uninitialized symbol 'ret'. # https://github.com/0day-ci/linux/commit/23493bf02c8f7255c8ff22b02f42f0adccb8e8ad git remote add linux-review https://github.com/0day-ci/linux git remote update linux-review git checkout 23493bf02c8f7255c8ff22b02f42f0adccb8e8ad vim +/ret +1306 drivers/dma/lgm/lgm-dma.c 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1198 static int ldma_cfg_init(struct ldma_dev *d) 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1199 { 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1200 struct fwnode_handle *fwnode = dev_fwnode(d->dev); 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1201 struct fwnode_handle *fw_chans, *fw_chan; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1202 struct fwnode_handle *fw_ports, *fw_port; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1203 struct ldma_chan *c; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1204 struct ldma_port *p; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1205 u32 txendi, rxendi; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1206 u32 prop, val; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1207 int ret, i; ^^^^^^^ 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1208 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1209 if (fwnode_property_read_bool(fwnode, "intel,dma-chan-fc")) 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1210 d->flags |= DMA_CHAN_FLOW_CTL; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1211 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1212 if (fwnode_property_read_bool(fwnode, "intel,dma-desc-fod")) 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1213 d->flags |= DMA_DESC_FTOD; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1214 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1215 if (fwnode_property_read_bool(fwnode, "intel,dma-desc-in-sram")) 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1216 d->flags |= DMA_DESC_IN_SRAM; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1217 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1218 if (fwnode_property_read_bool(fwnode, "intel,dma-byte-en")) 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1219 d->flags |= DMA_EN_BYTE_EN; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1220 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1221 if (fwnode_property_read_bool(fwnode, "intel,dma-dfetch-ack")) 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1222 d->flags |= DMA_VLD_FETCH_ACK; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1223 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1224 if (fwnode_property_read_bool(fwnode, "intel,dma-dburst-wr")) 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1225 d->flags |= DMA_DBURST_WR; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1226 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1227 if (fwnode_property_read_bool(fwnode, "intel,dma-drb")) 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1228 d->flags |= DMA_DFT_DRB; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1229 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1230 if (fwnode_property_read_u32(fwnode, "intel,dma-polling-cnt", 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1231 &d->pollcnt)) 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1232 d->pollcnt = DMA_DFT_POLL_CNT; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1233 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1234 if (!fwnode_property_read_u32(fwnode, "intel,dma-orrc", &val)) { 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1235 if (val > DMA_ORRC_MAX_CNT) 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1236 return -EINVAL; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1237 d->orrc = val; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1238 } 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1239 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1240 if (d->ver > DMA_VER22) { 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1241 if (fwnode_property_read_u32(fwnode, "intel,dma-txendi", 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1242 &txendi)) 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1243 txendi = DMA_DFT_ENDIAN; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1244 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1245 if (fwnode_property_read_u32(fwnode, "intel,dma-rxendi", 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1246 &rxendi)) 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1247 rxendi = DMA_DFT_ENDIAN; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1248 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1249 if (!d->port_nrs) 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1250 return -EINVAL; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1251 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1252 for (i = 0; i < d->port_nrs; i++) { 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1253 p = &d->ports[i]; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1254 p->rxendi = rxendi; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1255 p->txendi = txendi; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1256 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1257 if (!fwnode_property_read_u32(fwnode, "intel,dma-burst", 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1258 &prop)) { 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1259 p->rxbl = prop; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1260 p->txbl = prop; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1261 } else { 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1262 p->rxbl = DMA_DFT_BURST; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1263 p->txbl = DMA_DFT_BURST; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1264 } 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1265 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1266 p->pkt_drop = DMA_PKT_DROP_DIS; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1267 p->flush_memcpy = 0; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1268 } 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1269 } 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1270 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1271 /* Port specific, required for dma0 */ 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1272 fw_ports = fwnode_get_named_child_node(fwnode, "dma,ports"); 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1273 if (!fw_ports && d->ver == DMA_VER22) { 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1274 dev_err(d->dev, "Failed to get ports settings\n"); 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1275 return -ENODEV; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1276 } 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1277 if (fw_ports) { ^^^^^^^ "ret" is not initialized if fw_ports is false. 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1278 fwnode_for_each_child_node(fw_ports, fw_port) { 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1279 ret = dma_parse_port_dt(fw_port, d); 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1280 if (ret) { 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1281 fwnode_handle_put(fw_port); 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1282 fwnode_handle_put(fw_ports); 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1283 return -EINVAL; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1284 } 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1285 } 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1286 fwnode_handle_put(fw_ports); 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1287 } 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1288 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1289 d->chans = devm_kcalloc(d->dev, d->chan_nrs, sizeof(*c), GFP_KERNEL); 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1290 if (!d->chans) 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1291 return -ENOMEM; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1292 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1293 /* Channel based configuration if available, optional */ 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1294 fw_chans = fwnode_get_named_child_node(fwnode, "dma,channels"); 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1295 if (fw_chans) { 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1296 fwnode_for_each_child_node(fw_chans, fw_chan) { 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1297 if (dma_parse_chan_dt(fw_chan, d)) { 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1298 fwnode_handle_put(fw_chan); 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1299 fwnode_handle_put(fw_chans); 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1300 return -EINVAL; 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1301 } 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1302 } 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1303 fwnode_handle_put(fw_chans); 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1304 } 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1305 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 @1306 return ret; ^^^^^^^^^^ It's more readable to return a literal. "return 0;". 23493bf02c8f72 Amireddy Mallikarjuna reddy 2020-06-10 1307 } --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org