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 <l...@intel.com>
Reported-by: Dan Carpenter <dan.carpen...@oracle.com>

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-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

Reply via email to