All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* drivers/spi/spi-fsi.c:404:1-20: iterator with update on line 466
@ 2020-09-02  9:17 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-09-02  9:17 UTC (permalink / raw
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 6768 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Eddie James <eajames@linux.ibm.com>
CC: Mark Brown <broonie@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   9c7d619be5a002ea29c172df5e3c1227c22cbb41
commit: bbb6b2f9865b3ed23eb457131b9ea541a3173a66 spi: Add FSI-attached SPI controller driver
date:   6 months ago
:::::: branch date: 7 hours ago
:::::: commit date: 6 months ago
config: x86_64-randconfig-c002-20200901 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Julia Lawall <julia.lawall@lip6.fr>


coccinelle warnings: (new ones prefixed by >>)

>> drivers/spi/spi-fsi.c:404:1-20: iterator with update on line 466

# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bbb6b2f9865b3ed23eb457131b9ea541a3173a66
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout bbb6b2f9865b3ed23eb457131b9ea541a3173a66
vim +404 drivers/spi/spi-fsi.c

bbb6b2f9865b3e Eddie James 2020-03-06  395  
bbb6b2f9865b3e Eddie James 2020-03-06  396  static int fsi_spi_transfer_one_message(struct spi_controller *ctlr,
bbb6b2f9865b3e Eddie James 2020-03-06  397  					struct spi_message *mesg)
bbb6b2f9865b3e Eddie James 2020-03-06  398  {
bbb6b2f9865b3e Eddie James 2020-03-06  399  	int rc = 0;
bbb6b2f9865b3e Eddie James 2020-03-06  400  	u8 seq_slave = SPI_FSI_SEQUENCE_SEL_SLAVE(mesg->spi->chip_select + 1);
bbb6b2f9865b3e Eddie James 2020-03-06  401  	struct spi_transfer *transfer;
bbb6b2f9865b3e Eddie James 2020-03-06  402  	struct fsi_spi *ctx = spi_controller_get_devdata(ctlr);
bbb6b2f9865b3e Eddie James 2020-03-06  403  
bbb6b2f9865b3e Eddie James 2020-03-06 @404  	list_for_each_entry(transfer, &mesg->transfers, transfer_list) {
bbb6b2f9865b3e Eddie James 2020-03-06  405  		struct fsi_spi_sequence seq;
bbb6b2f9865b3e Eddie James 2020-03-06  406  		struct spi_transfer *next = NULL;
bbb6b2f9865b3e Eddie James 2020-03-06  407  
bbb6b2f9865b3e Eddie James 2020-03-06  408  		/* Sequencer must do shift out (tx) first. */
bbb6b2f9865b3e Eddie James 2020-03-06  409  		if (!transfer->tx_buf ||
bbb6b2f9865b3e Eddie James 2020-03-06  410  		    transfer->len > SPI_FSI_MAX_TRANSFER_SIZE) {
bbb6b2f9865b3e Eddie James 2020-03-06  411  			rc = -EINVAL;
bbb6b2f9865b3e Eddie James 2020-03-06  412  			goto error;
bbb6b2f9865b3e Eddie James 2020-03-06  413  		}
bbb6b2f9865b3e Eddie James 2020-03-06  414  
bbb6b2f9865b3e Eddie James 2020-03-06  415  		dev_dbg(ctx->dev, "Start tx of %d bytes.\n", transfer->len);
bbb6b2f9865b3e Eddie James 2020-03-06  416  
bbb6b2f9865b3e Eddie James 2020-03-06  417  		rc = fsi_spi_transfer_init(ctx);
bbb6b2f9865b3e Eddie James 2020-03-06  418  		if (rc < 0)
bbb6b2f9865b3e Eddie James 2020-03-06  419  			goto error;
bbb6b2f9865b3e Eddie James 2020-03-06  420  
bbb6b2f9865b3e Eddie James 2020-03-06  421  		fsi_spi_sequence_init(&seq);
bbb6b2f9865b3e Eddie James 2020-03-06  422  		fsi_spi_sequence_add(&seq, seq_slave);
bbb6b2f9865b3e Eddie James 2020-03-06  423  
bbb6b2f9865b3e Eddie James 2020-03-06  424  		rc = fsi_spi_sequence_transfer(ctx, &seq, transfer);
bbb6b2f9865b3e Eddie James 2020-03-06  425  		if (rc)
bbb6b2f9865b3e Eddie James 2020-03-06  426  			goto error;
bbb6b2f9865b3e Eddie James 2020-03-06  427  
bbb6b2f9865b3e Eddie James 2020-03-06  428  		if (!list_is_last(&transfer->transfer_list,
bbb6b2f9865b3e Eddie James 2020-03-06  429  				  &mesg->transfers)) {
bbb6b2f9865b3e Eddie James 2020-03-06  430  			next = list_next_entry(transfer, transfer_list);
bbb6b2f9865b3e Eddie James 2020-03-06  431  
bbb6b2f9865b3e Eddie James 2020-03-06  432  			/* Sequencer can only do shift in (rx) after tx. */
bbb6b2f9865b3e Eddie James 2020-03-06  433  			if (next->rx_buf) {
bbb6b2f9865b3e Eddie James 2020-03-06  434  				if (next->len > SPI_FSI_MAX_TRANSFER_SIZE) {
bbb6b2f9865b3e Eddie James 2020-03-06  435  					rc = -EINVAL;
bbb6b2f9865b3e Eddie James 2020-03-06  436  					goto error;
bbb6b2f9865b3e Eddie James 2020-03-06  437  				}
bbb6b2f9865b3e Eddie James 2020-03-06  438  
bbb6b2f9865b3e Eddie James 2020-03-06  439  				dev_dbg(ctx->dev, "Sequence rx of %d bytes.\n",
bbb6b2f9865b3e Eddie James 2020-03-06  440  					next->len);
bbb6b2f9865b3e Eddie James 2020-03-06  441  
bbb6b2f9865b3e Eddie James 2020-03-06  442  				rc = fsi_spi_sequence_transfer(ctx, &seq,
bbb6b2f9865b3e Eddie James 2020-03-06  443  							       next);
bbb6b2f9865b3e Eddie James 2020-03-06  444  				if (rc)
bbb6b2f9865b3e Eddie James 2020-03-06  445  					goto error;
bbb6b2f9865b3e Eddie James 2020-03-06  446  			} else {
bbb6b2f9865b3e Eddie James 2020-03-06  447  				next = NULL;
bbb6b2f9865b3e Eddie James 2020-03-06  448  			}
bbb6b2f9865b3e Eddie James 2020-03-06  449  		}
bbb6b2f9865b3e Eddie James 2020-03-06  450  
bbb6b2f9865b3e Eddie James 2020-03-06  451  		fsi_spi_sequence_add(&seq, SPI_FSI_SEQUENCE_SEL_SLAVE(0));
bbb6b2f9865b3e Eddie James 2020-03-06  452  
bbb6b2f9865b3e Eddie James 2020-03-06  453  		rc = fsi_spi_write_reg(ctx, SPI_FSI_SEQUENCE, seq.data);
bbb6b2f9865b3e Eddie James 2020-03-06  454  		if (rc)
bbb6b2f9865b3e Eddie James 2020-03-06  455  			goto error;
bbb6b2f9865b3e Eddie James 2020-03-06  456  
bbb6b2f9865b3e Eddie James 2020-03-06  457  		rc = fsi_spi_transfer_data(ctx, transfer);
bbb6b2f9865b3e Eddie James 2020-03-06  458  		if (rc)
bbb6b2f9865b3e Eddie James 2020-03-06  459  			goto error;
bbb6b2f9865b3e Eddie James 2020-03-06  460  
bbb6b2f9865b3e Eddie James 2020-03-06  461  		if (next) {
bbb6b2f9865b3e Eddie James 2020-03-06  462  			rc = fsi_spi_transfer_data(ctx, next);
bbb6b2f9865b3e Eddie James 2020-03-06  463  			if (rc)
bbb6b2f9865b3e Eddie James 2020-03-06  464  				goto error;
bbb6b2f9865b3e Eddie James 2020-03-06  465  
bbb6b2f9865b3e Eddie James 2020-03-06 @466  			transfer = next;
bbb6b2f9865b3e Eddie James 2020-03-06  467  		}
bbb6b2f9865b3e Eddie James 2020-03-06  468  	}
bbb6b2f9865b3e Eddie James 2020-03-06  469  
bbb6b2f9865b3e Eddie James 2020-03-06  470  error:
bbb6b2f9865b3e Eddie James 2020-03-06  471  	mesg->status = rc;
bbb6b2f9865b3e Eddie James 2020-03-06  472  	spi_finalize_current_message(ctlr);
bbb6b2f9865b3e Eddie James 2020-03-06  473  
bbb6b2f9865b3e Eddie James 2020-03-06  474  	return rc;
bbb6b2f9865b3e Eddie James 2020-03-06  475  }
bbb6b2f9865b3e Eddie James 2020-03-06  476  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 34457 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-09-02  9:17 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-02  9:17 drivers/spi/spi-fsi.c:404:1-20: iterator with update on line 466 kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.