Unverified Commit 2449d436 authored by Krishna Yarlagadda's avatar Krishna Yarlagadda Committed by Mark Brown
Browse files

spi: tegra210-quad: Fix iterator outside loop



Fix warn: iterator used outside loop: 'xfer'. 'xfer' variable contain
invalid value in few conditions. Complete transfer within DATA phase
in successful case and at the end for failed transfer.

Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Link:https://lore.kernel.org/all/202210191211.46FkzKmv-lkp@intel.com/


Fixes: 8777dd9d ("spi: tegra210-quad: Fix combined sequence")

Signed-off-by: default avatarKrishna Yarlagadda <kyarlagadda@nvidia.com>
Link: https://lore.kernel.org/r/20230227200428.45832-1-kyarlagadda@nvidia.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 047ee71a
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -1156,6 +1156,10 @@ static int tegra_qspi_combined_seq_xfer(struct tegra_qspi *tqspi,
				ret = -EIO;
				goto exit;
			}
			if (!xfer->cs_change) {
				tegra_qspi_transfer_end(spi);
				spi_transfer_delay_exec(xfer);
			}
			break;
		default:
			ret = -EINVAL;
@@ -1164,14 +1168,14 @@ static int tegra_qspi_combined_seq_xfer(struct tegra_qspi *tqspi,
		msg->actual_length += xfer->len;
		transfer_phase++;
	}
	if (!xfer->cs_change) {
		tegra_qspi_transfer_end(spi);
		spi_transfer_delay_exec(xfer);
	}
	ret = 0;

exit:
	msg->status = ret;
	if (ret < 0) {
		tegra_qspi_transfer_end(spi);
		spi_transfer_delay_exec(xfer);
	}

	return ret;
}