CC: [email protected]
CC: [email protected]
TO: Miquel Raynal <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git 
spi-mem-ecc
head:   d6986e74ec6ee6a48ce9ee1d8051b2988d747558
commit: cfe5cf69e97267e9d1de65cc894b7a2310644a15 [14/29] mtd: nand: mxic-ecc: 
Add Macronix external ECC engine support
:::::: branch date: 29 hours ago
:::::: commit date: 13 days ago
config: x86_64-randconfig-m001-20220207 
(https://download.01.org/0day-ci/archive/20220209/[email protected]/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 <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

smatch warnings:
drivers/mtd/nand/ecc-mxic.c:548 mxic_ecc_prepare_io_req_external() error: 
uninitialized symbol 'ret'.

vim +/ret +548 drivers/mtd/nand/ecc-mxic.c

cfe5cf69e97267 Miquel Raynal 2021-12-16  492  
cfe5cf69e97267 Miquel Raynal 2021-12-16  493  /* External ECC engine helpers */
cfe5cf69e97267 Miquel Raynal 2021-12-16  494  static int 
mxic_ecc_prepare_io_req_external(struct nand_device *nand,
cfe5cf69e97267 Miquel Raynal 2021-12-16  495                                    
    struct nand_page_io_req *req)
cfe5cf69e97267 Miquel Raynal 2021-12-16  496  {
cfe5cf69e97267 Miquel Raynal 2021-12-16  497    struct mxic_ecc_engine *mxic = 
nand_to_mxic(nand);
cfe5cf69e97267 Miquel Raynal 2021-12-16  498    struct mxic_ecc_ctx *ctx = 
nand_to_ecc_ctx(nand);
cfe5cf69e97267 Miquel Raynal 2021-12-16  499    struct mtd_info *mtd = 
nanddev_to_mtd(nand);
cfe5cf69e97267 Miquel Raynal 2021-12-16  500    int offset, nents, step, ret;
cfe5cf69e97267 Miquel Raynal 2021-12-16  501  
cfe5cf69e97267 Miquel Raynal 2021-12-16  502    if (req->mode == MTD_OPS_RAW)
cfe5cf69e97267 Miquel Raynal 2021-12-16  503            return 0;
cfe5cf69e97267 Miquel Raynal 2021-12-16  504  
cfe5cf69e97267 Miquel Raynal 2021-12-16  505    
nand_ecc_tweak_req(&ctx->req_ctx, req);
cfe5cf69e97267 Miquel Raynal 2021-12-16  506    ctx->req = req;
cfe5cf69e97267 Miquel Raynal 2021-12-16  507  
cfe5cf69e97267 Miquel Raynal 2021-12-16  508    if (req->type == NAND_PAGE_READ)
cfe5cf69e97267 Miquel Raynal 2021-12-16  509            return 0;
cfe5cf69e97267 Miquel Raynal 2021-12-16  510  
cfe5cf69e97267 Miquel Raynal 2021-12-16  511    
mxic_ecc_add_room_in_oobbuf(ctx, ctx->oobwithstat,
cfe5cf69e97267 Miquel Raynal 2021-12-16  512                                
ctx->req->oobbuf.out);
cfe5cf69e97267 Miquel Raynal 2021-12-16  513  
cfe5cf69e97267 Miquel Raynal 2021-12-16  514    sg_set_buf(&ctx->sg[0], 
req->databuf.out, req->datalen);
cfe5cf69e97267 Miquel Raynal 2021-12-16  515    sg_set_buf(&ctx->sg[1], 
ctx->oobwithstat,
cfe5cf69e97267 Miquel Raynal 2021-12-16  516               req->ooblen + 
(ctx->steps * STAT_BYTES));
cfe5cf69e97267 Miquel Raynal 2021-12-16  517  
cfe5cf69e97267 Miquel Raynal 2021-12-16  518    nents = dma_map_sg(mxic->dev, 
ctx->sg, 2, DMA_BIDIRECTIONAL);
cfe5cf69e97267 Miquel Raynal 2021-12-16  519    if (!nents)
cfe5cf69e97267 Miquel Raynal 2021-12-16  520            return -EINVAL;
cfe5cf69e97267 Miquel Raynal 2021-12-16  521  
cfe5cf69e97267 Miquel Raynal 2021-12-16  522    mutex_lock(&mxic->lock);
cfe5cf69e97267 Miquel Raynal 2021-12-16  523  
cfe5cf69e97267 Miquel Raynal 2021-12-16  524    for (step = 0; step < 
ctx->steps; step++) {
cfe5cf69e97267 Miquel Raynal 2021-12-16  525            
writel(sg_dma_address(&ctx->sg[0]) + (step * ctx->data_step_sz),
cfe5cf69e97267 Miquel Raynal 2021-12-16  526                   mxic->regs + 
SDMA_MAIN_ADDR);
cfe5cf69e97267 Miquel Raynal 2021-12-16  527            
writel(sg_dma_address(&ctx->sg[1]) + (step * (ctx->oob_step_sz + STAT_BYTES)),
cfe5cf69e97267 Miquel Raynal 2021-12-16  528                   mxic->regs + 
SDMA_SPARE_ADDR);
cfe5cf69e97267 Miquel Raynal 2021-12-16  529            ret = 
mxic_ecc_process_data(mxic, ctx->req->type);
cfe5cf69e97267 Miquel Raynal 2021-12-16  530            if (ret)
cfe5cf69e97267 Miquel Raynal 2021-12-16  531                    break;
cfe5cf69e97267 Miquel Raynal 2021-12-16  532    }
cfe5cf69e97267 Miquel Raynal 2021-12-16  533  
cfe5cf69e97267 Miquel Raynal 2021-12-16  534    mutex_unlock(&mxic->lock);
cfe5cf69e97267 Miquel Raynal 2021-12-16  535  
cfe5cf69e97267 Miquel Raynal 2021-12-16  536    dma_unmap_sg(mxic->dev, 
ctx->sg, 2, DMA_BIDIRECTIONAL);
cfe5cf69e97267 Miquel Raynal 2021-12-16  537  
cfe5cf69e97267 Miquel Raynal 2021-12-16  538    /* Retrieve the calculated ECC 
bytes */
cfe5cf69e97267 Miquel Raynal 2021-12-16  539    for (step = 0; step < 
ctx->steps; step++) {
cfe5cf69e97267 Miquel Raynal 2021-12-16  540            offset = ctx->meta_sz + 
(step * ctx->oob_step_sz);
cfe5cf69e97267 Miquel Raynal 2021-12-16  541            
mtd_ooblayout_get_eccbytes(mtd,
cfe5cf69e97267 Miquel Raynal 2021-12-16  542                                    
   (u8 *)ctx->req->oobbuf.out + offset,
cfe5cf69e97267 Miquel Raynal 2021-12-16  543                                    
   ctx->oobwithstat + (step * STAT_BYTES),
cfe5cf69e97267 Miquel Raynal 2021-12-16  544                                    
   step * ctx->parity_sz,
cfe5cf69e97267 Miquel Raynal 2021-12-16  545                                    
   ctx->parity_sz);
cfe5cf69e97267 Miquel Raynal 2021-12-16  546    }
cfe5cf69e97267 Miquel Raynal 2021-12-16  547  
cfe5cf69e97267 Miquel Raynal 2021-12-16 @548    return ret;
cfe5cf69e97267 Miquel Raynal 2021-12-16  549  }
cfe5cf69e97267 Miquel Raynal 2021-12-16  550  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to